如何在 GTK+ 中使用 sleep()

how to use sleep() in GTK+

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

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

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