【发布时间】:2025-12-20 21:10:15
【问题描述】:
在MainWindow的标题中显示实际时间(Hh:mm:ss)的简单方法是什么?
使用插槽和信号技术。
【问题讨论】:
在MainWindow的标题中显示实际时间(Hh:mm:ss)的简单方法是什么?
使用插槽和信号技术。
【问题讨论】:
我正在the one provided by Riateche 上构建我的答案。您可以使用提供的timerEvent() 或任何QObject,而不是使用用户定义的QTimer 和连接信号/插槽。它基本上会在引擎盖下做同样的事情,但会节省你大量的打字时间。这看起来像这样:
class MainWindow : public QMainWindow
{
public:
MainWindow();
protected:
void timerEvent(QTimerEvent *event);
};
MainWindow::MainWindow()
{
startTimer(1000); // 1-second timer
}
void MainWindow::timerEvent(QTimerEvent * event)
{
setWindowTitle(QTime::currentTime().toString("hh:mm:ss"));
}
【讨论】:
创建一个间隔为 1 秒的QTimer(或例如 100 毫秒以获得更高的精度),将其timeout 信号连接到您的插槽。在槽中使用QTime::currentTime()静态函数获取当前时间,使用toString将其转换为字符串并将其分配给GUI元素(例如标签)。
【讨论】: