Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Qt程序中显示实际时间_Qt_Time_Signals_Slot - Fatal编程技术网

在Qt程序中显示实际时间

在Qt程序中显示实际时间,qt,time,signals,slot,Qt,Time,Signals,Slot,在主窗口的标题中显示实际时间(Hh:mm:ss)的简单方法是什么? 使用插槽和信号技术 创建一个间隔1秒的QTimer(例如,100毫秒以获得更高的精度),将其超时信号连接到插槽。在插槽中,使用QTime::currentTime()静态函数获取当前时间,使用toString将其转换为字符串,并将其分配给GUI元素(例如标签)。创建一个间隔为1秒的QTimer,或为更准确起见,将其超时信号连接到插槽。在插槽中,使用QTime::currentTime()静态函数获取当前时间,使用toString

主窗口的标题中显示实际时间(Hh:mm:ss)的简单方法是什么?

使用插槽和信号技术

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

创建一个间隔为1秒的
QTimer
,或为更准确起见,将其
超时信号连接到插槽。在插槽中,使用
QTime::currentTime()
静态函数获取当前时间,使用
toString
将其转换为字符串,并将其分配给GUI元素(例如标签)。

我正在构建答案。您可以使用任何
QObject
提供的
timerEvent()
,而不是使用用户定义的
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"));
}
我在建立我的答案。您可以使用任何
QObject
提供的
timerEvent()
,而不是使用用户定义的
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"));
}

好的,不知道那件事好的,不知道那件事