处理实时时钟的最佳方法是什么?

时间:2012-02-13 14:31:18

标签: c gtk glib

我正在使用GTK + 2 GUI在C中构建Linux平台的应用程序。我需要在屏幕上显示实时时钟,显示HH:MM:SS(只需要精确到秒),然后在GTK_ENTRY字段中由用户输入的特定时间触发各种功能。

我一直在研究最好的方法,并且已经找到了类似的问题,人们已经回答使用GThread线程来监控时间,但我找不到任何细节。

我可以发送一个包含无限循环的函数,不断地一遍又一遍地检查一个线程吗?不知何故,似乎不对,或处理它的最佳方式。

我真的很感激任何人都可以提供的任何细节,或任何可能回答这个问题的资源方向。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用g_timeout_add()添加一个glib超时处理程序。如果你使用一段时间,比如半秒,你应该没问题。在处理程序代码中,执行任何需要的小部件操作以刷新显示的时间。这可能就像格式化GtkLabel的一些文本一样简单。

当然,我不建议您使用超时回调的“滴答”作为实际时钟源,您应该使用常规API:s来查找每次回调的时间。