如何在GTK +中使用sleep()

时间:2015-06-26 10:53:01

标签: c++ gtk cairo

我正在制作一个应用程序来读取卡片,然后打印其余额,当用户想要查看他的余额时,他点击主屏幕上的余额查询按钮。我用Cairo创建了背景。现在,当用户点击Balance Enquiry时,显示show your card的屏幕应暂停2-3秒,所以我正在使用sleep()函数。但问题是点击Bal. Enq.按钮后屏幕就会休眠,我确信sleep()位于屏幕上打印show ur card的代码之后。

1 个答案:

答案 0 :(得分:6)

您无法在GTK + GUI应用程序中使用sleep(),它会阻止整个应用程序并使其无响应。您的应用程序会导致GTK +完成更新界面的工作;如果你睡觉了,你可以停止GTK +的运行,因此UI更改不会发生,直到应用程序重新启动。

了解glib的超时API:g_timeout_add()是一个明智的起点。