1 基本知識git
(1 ) 頭文件 :#include <QTimer> //包含定時器 ui
#include <QDateTime> //包含時間處理和顯示this
(2) 常見方法code
時間字符串
startimer() //啓動定時器get
ToString("yyyy MM dd hh:mm :ss dddd"); 以年月日時分秒格式轉成字符串qt
qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); //產生隨機種子it
int rand=qrand()%300; //產生 0-300 三百的數event
咱們發現 實際產生隨機的方法有點相似ast
咱們看:
srand((unsigned int)time(NULL)); //產生隨機種子
產生隨機數
res= rand()%n+m; //產生m-n 之間的數
2 案例
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTimer * timer=new QTimer(this);
id1=startTimer(1000);
id2=startTimer(2000);
id3=startTimer(10000);
QObject::connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(timerUpdate()));
timer->start();
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::timerUpdate(){
QDateTime ttime=QDateTime::currentDateTime();
QString dat=ttime.toString("yyyy-MM-dd hh:mm:ss dddd");
ui->lineEdit->setText(dat);
int rand=qrand()%300;
ui->lineEdit->move(rand,rand);
}
void MainWindow::timerEvent(QTimerEvent *event)
{
if(event->timerId()==id1)
{
ui->statusBar->showMessage(tr("hi welcome "),20000);
}
else if(event->timerId()==id2)
{
ui->statusBar->showMessage(tr("hi id2"));
}
else{
//qApp->quit();
}
}
Demo15 地址:https://gitee.com/codemaner/qt_learning_record/tree/master