Qt之旅---06 时间和随机数

1  基本知识

(1 ) 头文件 :#include <QTimer>   //包含定时器  

#include <QDateTime>  //包含时间处理和显示

(2) 常见方法

时间

startimer()  //启动定时器

ToString("yyyy MM dd hh:mm :ss  dddd"); 以年月日时分秒格式转成字符串

 

qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); //产生随机种子

  int  rand=qrand()%300;  //产生 0-300 三百的数

 我们发现 实际产生随机的方法有点类似

我们看:

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

转载于:https://my.oschina.net/u/3768017/blog/1818317

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值