1

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

4

2 回答 2

5

我正在根据 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"));
}
于 2013-07-11T07:29:34.037 回答
3

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

于 2013-07-10T19:55:53.653 回答