2011-10-26 39 views
0

我正在開發一個QT UI應用程序。在哪裏,主屏幕顯示在QT應用程序的啓動中。然後在按鈕按下事件後,必須顯示第二屏幕等等。QT使用滾動效果進行屏幕切換(例如: - 從第一個屏幕滾動到第二個屏幕)

但是要將屏幕從屏幕1切換到屏幕2,必須向用戶顯示滾動效果,滾動效果可以是從左到右(或從右到左)的第一個移動到第二個。

截至目前我已經實現了使用QT動畫框架。

任何人都可以請我建議我如果有任何其他方式來實現這個?

任何幫助高度讚賞。

由於提前 Varun的

+0

這似乎是一個合理的方式來做到這一點 - 你遇到了什麼問題,或者你只是在探索其他選擇? – sjwarner

回答

0

基本上,我有更高的優先級和工作線程與NormalPriority多線程應用程序UI線程。 Worker線程始終監聽來自其他應用程序的事件。

當我開始通過設置setDuration(1500)的動畫持續時間來切換屏幕的動畫;動畫在UI線程中順利進行。只有工作線程沒有收到任何事件。如果工作線程在動畫過程中從其他應用程序接收到任何事件,我可以看到動畫中的堵塞效果。

原因是,雖然UI線程正在進行動畫處理,但如果工作線程接收到導致UI中出現堵塞效果的事件,它將切換到工作線程。

如果我使用小部件的滾動而不是動畫。在這種情況下,UI線程不會切換到工作線程,直到它處理其事件隊列中的所有事件。導致平滑滾動。爲了實現這一點,我在事件循環中滾動了10個像素。這樣我就可以看到平滑的滾動。

如果您有任何其他情況(或其他方式),我可以嘗試提示我嗎?所以我可以看到流暢的動畫效果。