QT应用遇到的一些小算法(不定期追加)

本文介绍如何在Qt中使用QTimer实现定时操作,并通过QTime结合qsrand和qrand生成随机数。此外,还展示了如何利用QSettings读写INI配置文件来更新界面上的数值。



1、Qt产生随机数
QTime time;
time= QTime::currentTime();
qsrand(time.msec()+time.second()*1000);
int xxx=qrand()%5
%5 :在0-4中选出随机数

=====================================================

2、定时自加

  QTimer *connectTimer;
    connectTimer = new QTimer(this);
    connect(connectTimer,SIGNAL(timeout()), this, SLOT(slot_value_plus()) );
    //QString setime1 =QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
    QString setime2 =QDateTime::currentDateTime().toString("mm");
    plustime=(60-setime2.toInt())*3000;//3
    //60min  (60-setime2.toInt())*60*1000
    //10min  (60-setime2.toInt())*10*1000
    qDebug()<<plustime;
    connectTimer->start(plustime);
void cjt188::slot_value_plus()
{
    //Qt中使用QSettings类读写ini文件
    QSettings *configIniRead = new QSettings("boot.ini", QSettings::IniFormat);
    int tempa=configIniRead->value("/uidata/uiData1_1").toInt();
    ui->doubleSpinBox->setValue(tempa);
    delete configIniRead;
   //产生自加随机数
    QTime addnumtime;
    addnumtime= QTime::currentTime();
    qsrand(addnumtime.msec()+addnumtime.second()*1000);
    int addnum=qrand()%10;

    tempa=tempa+addnum;
    qDebug() << "addnum"<<tempa;
    QSettings *configIniWrite = new QSettings("boot.ini", QSettings::IniFormat);
    configIniWrite->setValue("/uidata/uiData1_1",QString::number(tempa, 10));
    delete configIniWrite;
    connectTimer->start(3000);//60->60*60*1000
    QString curtime="num ++ OK !"+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
    qDebug() << curtime;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值