gpt4 book ai didi

c++ - Qt QLCDNumber QTimer 数字时钟节拍

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:13 24 4
gpt4 key购买 nike

我正在尝试创建一个数字时钟。但是,我的目的不是获取 currentTime()。相反,我正在定义自己的时间并从那里开始增加时间。

但是,在我的代码中,我可以调用 tickSimulation(),但时钟计时器不会开始计时。它只是停留在 11:00:00。声明 addSecs(1000) 是否正确?

请帮忙。谢谢!

StatusBar::StatusBar()
{
createButtons();
time = new QTime(11, 0, 0);
};

void StatusBar::createButtons()
{
...
lcdSimulation = new QLCDNumber;
lcdSimulation->setNumDigits(8);
simulationTimer = new QTimer;
simulationTimer->start(1000);
QObject::connect(simulationTimer, SIGNAL(timeout()), this, SLOT(tickSimulation()));
addWidget(lcdSimulation);
...
}

void StatusBar::tickSimulation()
{
QString text = time->toString(Qt::TextDate);
if((time->second() % 2) == 0)
text[2] = ' ';
lcdSimulation->display(text);
time->addSecs(1000);
};

最佳答案

当您调用 QTime 的 addSecs 函数时,它会返回新的 QTime 对象。所以你需要使用返回的对象来显示正确的时间

QTime n(11, 0, 0);
QTime t;
t = n.addSecs(1000);
//use t to show correct time

参见 QTime在此处获取更多信息。

关于c++ - Qt QLCDNumber QTimer 数字时钟节拍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com