• 5241阅读
  • 3回复

[原创]QT时钟程序 [复制链接]

上一主题 下一主题
离线qq526665621
 

只看楼主 倒序阅读 楼主  发表于: 2011-05-18
麻烦大家帮忙看下,为什么我的程序里时钟显示不变化,不能动态显示时间呢?
class MyMainWindow : public QWidget
{
        public:
                MyMainWindow();
        private:
                QLabel *c_label;
                QLabel *d_label;
                QLabel *t_label;
                QLabel *n_label;
                QLabel *c_line;
                QLabel *d_line;
                QLabel *t_line;
                QLabel *n_line;
};
MyMainWindow::MyMainWindow()
{
        setMinimumSize(320,240);
        setMaximumSize(320,240);
        QDate date=QDate::currentDate();
        QTime time=QTime::currentTime();
        QTimer *timer = new QTime(t_line);

        c_label=new QLabel(this);
        d_label=new QLabel(this);
        t_label=new QLabel(this);
        n_label=new QLabel(this);
        c_label->setGeometry(40,20,60,40);
        c_label->setText("class:");
        c_label->setAlignment(Qt::AlignCenter);
        c_label->setFont(QFont("Time",16));
        d_label->setGeometry(40,70,60,40);
        d_label->setText("data:");
        d_label->setAlignment(Qt::AlignCenter);
        d_label->setFont(QFont("Time",16));
        t_label->setGeometry(40,120,60,40);
        t_label->setText("time:");
        t_label->setAlignment(Qt::AlignCenter);
        t_label->setFont(QFont("Time",16));
        n_label->setGeometry(40,170,60,40);
        n_label->setText("num:");
        n_label->setAlignment(Qt::AlignCenter);
        n_label->setFont(QFont("Time",16));
        c_line=new QLabel("4301",this);
        d_line=new QLabel(date.toString(),this);
        t_line=new QLabel(time.toString(),this);
        n_line=new QLabel(this);
        c_line->setGeometry(110,20,170,40);
        c_line->setFont(QFont("Time",16));
        d_line->setGeometry(110,70,170,40);
        d_line->setFont(QFont("Time",16));
        t_line->setGeometry(110,120,170,40);
        t_line->setFont(QFont("Time",16));
        t_line->setText(time.toString("hh:mm:ss"));
        connect(timer,SIGNAL(timeout()),t_line,SLOT(update()));
       timer->start(1000);

        n_line->setGeometry(110,170,170,40);
        n_line->setFont(QFont("Time",16));
};
int main(int argc, char **argv)
{
        QApplication app(argc, argv);
        MyMainWindow mymainwindow;
        mymainwindow.show();
        return app.exec();
};

离线alexltr

只看该作者 1楼 发表于: 2011-05-18
QTimer *timer = new QTime(t_line);????
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线alexltr

只看该作者 2楼 发表于: 2011-05-18
update()在哪裡?
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线cookinful
只看该作者 3楼 发表于: 2011-05-18
快速回复
限100 字节
 
上一个 下一个