//mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
namespace Ui {
class MyWidget;
}
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
~MyWidget();
private:
Ui::MyWidget *ui;
private slots:
void slottimedone();
};
#endif // MYWIDGET_H
//mywidget.cpp
#include "mywidget.h"
#include "ui_mywidget.h"
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
#include<QDebug>
#include <QTimer>
#include <QLabel>
#include <QDateTime>
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
// ui->setupUi(this);
setMinimumSize(200,120);
setMaximumSize(300,150);
QPushButton *quit=new QPushButton("Quit",this);
quit->setGeometry(62,40,75,30);
quit->setFont(QFont("Times",18,QFont::Bold));
//qApp是指向Application的全局变量
connect(quit,SIGNAL(clicked()),qApp,SLOT(quit()));
//QDataTime 获取本地系统时间
QLabel *dataLabel=new QLabel(this);
dataLabel->setGeometry(50,50,75,30);
QDateTime *datatime=new QDateTime(QDateTime::currentDateTime());
dataLabel->setText(datatime->date().toString());
dataLabel->show();
//定时器
QTimer *time_clock=new QTimer(parent);
quit->setGeometry(10,10,75,30);
connect(time_clock,SIGNAL(timeout()),this,SLOT(slottimedone()));
time_clock->start(2000);//每隔一段时间启动一次
//time_clock->setSingleShot(true);//设置只启动一次
//QTimer::singleShot(10000, this, SLOT(slottimedone()));//只启动一次
}
MyWidget::~MyWidget()
{
delete ui;
}
void MyWidget::slottimedone()
{
qDebug("定时器");
}
//main.cpp
#include "mywidget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget w;
//从屏幕上(100,100)位置开始(即为最左上角的点),显示一个200*120的界面(宽200,高120)
w.setGeometry(100,100,200,120);
w.show();
return a.exec();
}