欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: Qt之QTimer [打印本頁]

作者: heicc    時間: 2015-1-5 15:28
標題: Qt之QTimer
  在Qt開發界面的時候,非常多的時候都得使用定時器,定時器具體可以干什么呢?比如:QTimer控制時鐘、QTimer定時改變樣式、QTimer改變進度等。。。說到這里,經常使用QQ,而不同的時段都會顯示不同的背景,我認為如果用Qt實現的話,就得使用QTimer定時的獲取時間,判斷當前時間為morning、noon、afternoon、night來改變當前的背景。。。    雖然QTimer簡單易用,但是比較耗內存,所以在不必要的時候就必須終止它。。。

QTimer構造:
  QTimer timer = new QTimer();

QTimer設置超時并啟動:
  timer->setInterval(1000);
  timer->start();
或:timer->start(1000);

QTimer改變定時間隔為msec毫秒
  timer->changeInterval(msec);
如果這個定時器信號是運行的,它將會被停止并且重新開始,否則它將會被開始。

QTimer是否則正在運行
  timer->isActive()
如果定時器正在運行,返回真,否則返回假。

QTimer停止
  timer->stop();

當達到超時時間,則發射信號,執行指定的槽函數
  connect(timer, SIGNAL(timeout()), this, SLOT(myTimeout()));

    以下是利用QTimer來控制一個進度條,超時時間為1000毫秒(1秒),當達到超時時間時,進度條增加1%,當進度條為100%時,停止Qtimer。

MyWidget::MyWidget(QWidget *parent) :
QWidget(parent)
{
  this->setFixedSize(400, 300);
  progress_value = 0;
  timer = new QTimer();
  timer->setInterval(1000);
  timer->start();
  progress_bar = new QProgressBar(this);
  progress_bar->setGeometry(50, 50, 150, 20);
  progress_bar->setValue(0);
  connect(timer, SIGNAL(timeout()), this, SLOT(changeValue()));
}
void MyWidget::changeValue()
{
  progress_value++;
  if(progress_value > 100)
  {
    timer->stop();
  }
  progress_bar->setValue(progress_value);
}

效果圖:

注:
    技術在于交流、溝通,轉載請注明出處并保持作品的完整性。






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1