我打开别人的QT程序,结果对方里面的ctime头文件没找到,请问这个头文件在哪,怎么设置啊

我打开别人的QT程序,结果对方里面的ctime头文件没找到,请问这个头文件在哪,怎么设置啊,第1张

ctime.h是MFC中常用的类。

如果安装了Microsoft Visual Studio 2010 Express就可以在相应的文件夹里找到该文件。

如果没有安装,或是不想安装的话,可以使用time.h(C/谨握亏C++标准库中的皮烂头文件)或是QTime来替换,当然,相应的函数祥神也需要更改。

用QTimer或者QBasicTimer

QTimer主要就是为计时而设计,QTimer类使用起来也很简单。举个小例子

假设构造函数有如下代码

QTimer* timer = new QTimer(this)

timer->setInterval(1000)//1000ms == 1s

connect(timer,SIGNAL(timeout()),this,SLOT(display()))

对应的槽函数display定义如下

void MainWindow::display()

{

static int count = 0

//增加时间计数

count++

//显示当前的链态时间计数

label->setText(QString::number(count))

}

上面的代码就已经完成了你的要求。每间隔1秒,count就会加1,也就是说label上显示的数字为当胡告前程序运行了多少秒。

QBasicTimer属于轻量级的计时类,它不继承自QObject,所以它不能给你提供信号和槽。

QBasicTimer的用法如下:

假设你头文件有如下定义

protected:

void timerEvent(QTimerEvent *)

private:

QBasicTimer timer

构造函数有如下调用

timer.start(1000,this)

最棚做源后重新实现的timerEvent函数如下

void MainWindow::timerEvent(QTimerEvent *event)

{

static int count = 0

if (event->timerId() == timer.timerId()) {

//增加时间计数

count++

//显示当前的时间计数

label->setText(QString::number(count))

} else {

QWidget::timerEvent(event)

}

}

上面两种方式都可以实现你的要求,相比之下QBasicTimer更适合在嵌入式设备上进行使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8167664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存