在Qt程序中显示实际时间

时间:2013-07-10 19:51:41

标签: qt time signals slot

MainWindow的标题中显示实际时间(Hh:mm:ss)的简单方法是什么? 使用插槽和信号技术。

2 个答案:

答案 0 :(得分:4)

我在the one provided by Riateche上建立答案。您可以使用所提供的任何QTimer timerEvent(),而不是使用用户定义的QObject并连接信号/广告位。它基本上会在引擎盖下做同样的事情,但为您节省大量的打字。这看起来像这样:

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 :(得分:3)

以1秒的间隔创建QTimer(或者例如100毫秒以获得更高的准确度),将其timeout信号连接到您的广告位。在插槽中使用QTime::currentTime()静态函数获取当前时间,使用toString将其转换为字符串并将其分配给GUI元素(例如标签)。