<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Qt圖形編程基礎(chǔ)之:Qt/Embedded開發(fā)入門

          Qt圖形編程基礎(chǔ)之:Qt/Embedded開發(fā)入門

          作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/257103.htm

          圖12.8使用了QGroupBox進(jìn)行排列的日期類QDateTimeEdit、一個行編輯框類QLine-
          Edit、一個文本編輯類QTextEdit和一個組合框類QComboBox。

          圖12.9是以QGrid排列的一個QDial、一個QProgressBar、一個QSpinBox、一個QScrollBar、一個QLCDNumber和一個QSlider。

          圖12.10是以QGrid排列的一個QIconView、一個QListView、一個QListBox和一個QTable。

               

          圖12.8 QGrid組合圖示1    圖12.9 QGrid組合圖示2 圖12.10鐘表部件圖示

          3.自定義窗口

          開發(fā)者可以通過子類化QWidget或它的一個子類創(chuàng)建他們自己的部件或?qū)υ捒颉榱伺e例說明子類化,下面提供了數(shù)字鐘部件的完整代碼。

          鐘表部件是一個能顯示當(dāng)前時間并自動更新的LCD。一個冒號分隔符隨秒數(shù)的流逝而閃爍,如圖12.10所示。

          Clock從QLCDNumber部件繼承了LCD功能。它有一個典型部件類所擁有的典型構(gòu)造函數(shù),帶有可選的parent和name參數(shù)(如果設(shè)置了name參數(shù),測試和調(diào)試會更容易)。系統(tǒng)有規(guī)律地調(diào)用從QObject繼承的timerEvent()函數(shù)。

          它在clock.h中定義如下所示:

          #includeqlcdnumber.h>

          classClock:publicQLCDNumber

          {

          public:

          Clock(QWidget*parent=0,constchar*name=0);

          protected:

          voidtimerEvent(QTimerEvent*event);

          private:

          voidshowTime();

          boolshowingColon;

          };

          構(gòu)造函數(shù)showTime()是用當(dāng)前時間初始化鐘表,并且告訴系統(tǒng)每1000ms調(diào)用一次timerEvent()來刷新LCD的顯示。在showTime()中,通過調(diào)用QLCDNumber::display()來顯示當(dāng)前時間。每次調(diào)用showTime()來讓冒號閃爍時,冒號就被空白代替。

          clock.cpp的源碼如下所示:

          #includeqdatetime.h>

          #includeclock.h

          Clock::Clock(QWidget*parent,constchar*name)

          :QLCDNumber(parent,name),showingColon(true)

          {

          showTime();

          startTimer(1000);

          }

          voidClock::timerEvent(QTimerEvent*)

          {

          showTime();

          }

          voidClock::showTime()

          {

          QStringtimer=QTime::currentTime().toString().left(5);

          if(!showingColon)

          {

          time[2]='';

          }

          display(time);

          showingColon=!showingColon;

          }

          文件clock.h和clock.cpp完整地聲明并實(shí)現(xiàn)了Clock部件。

          #includeqapplication.h>

          #includeclock.h

          intmain(intargc,char**argv)

          {

          QApplicationapp(argc,argv);

          Clock*clock=newClock;

          app.setMainWidget(clock);

          clock->show();

          returnapp.exec();

          }

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();