QT -- 定时器之QTimer
//mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog> class QLCDNumber; class QTimer; class MyDialog : public QDialog { Q_OBJECT public: explicit MyDialog(QWidget *parent = 0); signals: public slots: void onTimerOut(); private: QLCDNumber *lcd; QTimer *timer; }; #endif // MYDIALOG_H
//mydialog.cpp #include "mydialog.h" #include <QtGui/QLCDNumber> #include <QtGui/QVBoxLayout> #include <QTimer> #include <QTime> MyDialog::MyDialog(QWidget *parent) : QDialog(parent) { //新建一个QLCDNumber对象 lcd = new QLCDNumber(); //设置晶体管控件QLCDNumber能显示的位数 lcd->setDigitCount(10); //设置显示的模式为十进制 lcd->setMode(QLCDNumber::Dec); //设置显示方式 lcd->setSegmentStyle(QLCDNumber::Flat); //新建一个QTimer对象 timer = new QTimer(); //设置定时器每个多少毫秒发送一个timeout()信号 timer->setInterval(1000); //启动定时器 timer->start(); QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(lcd); //信号和槽 connect(timer, SIGNAL(timeout()), this, SLOT(onTimerOut())); //重新设置窗口的布局管理器 this->setLayout(layout); //重新设置窗口的大小 this->resize(200, 100); //重新设置窗口的标题 this->setWindowTitle("QTimerDemo"); } void MyDialog::onTimerOut() { //获取系统当前时间 QTime time = QTime::currentTime(); //设置晶体管控件QLCDNumber上显示的内容 lcd->display(time.toString("hh:mm:ss")); }
//main.cpp #include <QtGui/QApplication> #include "mydialog.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); MyDialog dialog; dialog.show(); return a.exec(); }
分类:
QT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-01-06 QT--QPalette的用法