c++ - 如何在 GTK+ 中使用 sleep()

标签 c++ gtk cairo

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

最佳答案

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

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

关于c++ - 如何在 GTK+ 中使用 sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071336/

相关文章:

c++ - RocksDb:每个键多个值(C++)

c++ - GTKCellRendererToggle 在 GTKTreeView 中

python-3.x - 如何在 GTK 中创建带有弹出菜单的 "HeaderMenu"?

c++ - 不使用设置颜色的开罗渐变图案

c++ - 将 cairo 表面直接渲染到 OpenGL 纹理

c++ - 如何判断模板类型是基本类型还是类

c++ - 如何从文件中读取值。分词器

c++ - Armadillo solve()线程安全吗?

c - 在 gtk 中显示密码按钮

python - python中gtk.DrawingArea的透明背景