我正在製作應用程序來讀取卡片,然後打印其餘額,當用戶想要查看他的餘額時,他點擊主屏幕上的餘額查詢按鈕。我使用開羅創建了背景。現在當用戶點擊Balance Enquiry
屏幕顯示show your card
應該暫停2-3秒,所以我使用sleep()函數。但問題是屏幕上點擊Bal. Enq.
按鈕,我相信sleep()
是在屏幕上打印show ur card
的代碼之後。如何使用睡眠()GTK +
2
A
回答
6
您不能在GTK + GUI應用程序中使用sleep()
,它會阻止整個應用程序並使其無響應。您的應用程序會導致GTK +執行更新界面的工作;如果你睡着了,你會停止運行GTK +,因此在應用程序被喚醒之前UI變化不會發生。
調查glib的超時API:g_timeout_add()
是一個明智的開始。
+0
謝謝您的快速回答我會嘗試這一點,並儘快接受您的答案開始工作。 –
相關問題
- 1. 如何禁用睡眠/睡眠功能?
- 2. 如何使用Kivy的時間睡眠
- 3. 如何正確使用「睡眠」?
- 4. 使用AsyncTask進行睡眠
- 5. 存根睡眠使用RSpec
- 6. GFP_ATOMIC如何防止睡眠
- 7. Linux:如何殺死睡眠
- 8. 如何停止PDA睡眠
- 9. C++:如何睡眠納秒?
- 10. 如何使功能在QML中睡眠
- 11. 睡眠和睡眠開始錯誤
- 12. 睡眠()或睡眠()的準確程度
- 13. 睡眠和睡眠有沒有區別?
- 14. PHP睡眠VS慶典睡眠
- 15. 調用RSpec睡眠
- 16. 如何用睡眠[android]更新setBackground?
- 17. 睡在睡眠中的NSTimer
- 18. 使ActiveRecord查詢睡眠
- 19. 使所有線程睡眠
- 20. Azure WebJobs睡眠
- 21. Fortran睡眠
- 22. SHOW PROCESSLIST:睡眠
- 23. Web Worker睡眠
- 24. 睡眠呼籲
- 25. setVisibility睡眠
- 26. actionscript 3睡眠?
- 27. 蟒紋睡眠
- 28. NSThread的睡眠
- 29. iPhone和睡眠
- 30. InstanceOwnerException從睡眠
「睡眠」函數使整個線程進入睡眠狀態,意味着線程中根本沒有代碼運行。你應該尋找其他的超時機制。 –
感謝您的快速回復!有一個'g_timeout_add_seconds'函數,但它只允許特定類型的函數指針,並且沒有常規函數。 –
傳遞給'g_timeout_add_seconds()'的函數將一個指針作爲參數;如果您有多條數據,則應該分配一個結構並將其作爲'g_timeout_add_seconds()'的'user_data'參數傳遞。 – ebassi