很多时候我们需要定时器,定时器QTimer控件,简单实用,那么如何使用呢?
很简单的几部就可以实用Qtimer控件:1.设置定时时间,并开启定时器
2.超时后的处理。
3.停止定时器。
第一步实现: timer->setInterval(1000);
timer->start();
或:timer->start(1000);
第二步实现: connect(timer, SIGNAL(timeout()), this, SLOT(Timeout()));
第三步实现: timer->stop();
示例:定时10秒并与进度条关联
Widget::Widget(QWidget *parent) :
QWidget(parent)
{
progressBar = new QProgressBar(this);
progressBar->setGeometry(29,50,300,21);
progressBar->setStyleSheet("\
QProgressBar::chunk {\
background-color: #CD96CD;\
width: 10px;\
margin: 0.5px;\
}");
progressBar->setRange(0,100);
progressBar->setValue(100);
pushButton = new QPushButton(this);
pushButton->setGeometry(29,100,60,40);
pushButton->setText("push");
temp = 100;
qtimer = new QTimer(this);\
connect(qtimer, SIGNAL(timeout()), this, SLOT(on_time_out()));
connect(pushButton,SIGNAL(clicked()),this,SLOT(on_click_button()));
}
Widget::~Widget()
{
}
void Widget::on_time_out()
{
--temp;
progressBar->setValue(temp);
if(temp == 0)
{
qtimer->stop();
temp = 100;
}
}
void Widget::on_click_button()
{
if(qtimer->isActive())
{
qtimer->stop();
}
else
{
qtimer->start(100);
}
}
效果:
示例代码:
https://yunpan.cn/OcPuv95KrX2EUh 访问密码 ab1e