qt mainwindow中如何刷新系统时间?

如题。以下是我用到的构造函数和时间显示函数:MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(n... 如题。以下是我用到的构造函数和时间显示函数:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
QWidget::setWindowIcon(QIcon("../pictures/icon/DB_User.png"));
ui->setupUi(this);
init_statusBar();
timerEvent(0);
startTimer(1000);
timeEvent();
showLogo();
//showTime(0);
}

void MainWindow::timeEvent()//QTimerEvent* event)
{
ui->timeLCD->setNumDigits(8);
ui->dateLCD->setNumDigits(10);
QDate dt = QDate::currentDate();
QString dateStr = dt.toString("yyyy-MM-dd");
QTime time = QTime::currentTime();
QString timeStr = time.toString("hh:mm:ss");
//QString dtstr = QString("%1-%2-%3 %4:%5:%6").arg(date.year()).arg(date.month()).arg(date.day()).arg(time.hour()).arg(time.minute()).arg(time.second());
ui->timeLCD->display(timeStr);
ui->dateLCD->display(dateStr);
connect(timer,SIGNAL(timeout()),this,SLOT(chTime()));
timer->start(1000);
}

为什么显示的时间都是静态的?
展开
 我来答
阿金纪实录
推荐于2020-12-31 · TA获得超过766个赞
知道小有建树答主
回答量:250
采纳率:100%
帮助的人:124万
展开全部
我看到你的问题,我做了一个只显示时间的,是在窗口标题里显示,我的秒钟会走动啊。
你把代码改一下。
我的代码是这样的
void mainWidget::timerEvent(QTimerEvent *event)
{
if(event->timerId()==myTimerID)
{
time=QTime::currentTime();
setWindowTitle(tr("%1:%2:%3").arg(time.hour()).arg(time.minute()).arg(time.second()));
}
}
myTimerID声明为int 类型,
在构造函数里加入myTimerID=startTimer(1000);
我想你是没有加入if(event->timerId()==myTimerID)
进行判断。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式