【发布时间】:2020-06-19 02:58:14
【问题描述】:
我想在我的 C++ 程序中实现一个动态时钟,它不仅会显示程序启动的当前时间,而且还会在程序运行时保持滴答作响。有没有一种简单的方法可以做到这一点?执行此操作时程序也不应该陷入循环,因为时钟只是其他功能之一。 我想到的是使用观察者模式,但如果有更简单的方法,我会很感激,因为我正在努力使用这种模式。
【问题讨论】:
-
std::chrono不适合您的用例的任何原因。你能给出你期望发生的事情的伪代码吗? -
一个每秒调用你的时钟几次的操作系统计时器怎么样。然后您的时钟可以检查时间,如果它自上次通话后发生变化,您将更新时钟 UI。
-
我确实使用 std::chrono 来显示时间,但我希望它是动态的。所以,当我运行我的程序时,我想看到秒数滴答作响。不幸的是,我不能使用显示时间并每秒清除屏幕的循环,因为这意味着我的程序被卡住并且无法执行其他功能。
-
所以基本上你想知道如何一次做不止一件事。您在哪里显示时钟 - 在控制台中?
-
你知道Qt: Digital Clock Example吗?还有一个模拟变体:Qt: Analog Clock Example。 ;-)