2011-11-27 68 views
0

我想爲Windows製作動畫壁紙。到目前爲止,我只有Mac OS X編程的經驗,而且我是新來的windows。所以我決定和QT合作,因爲它似乎有更多的幫助。使用QT動畫Windows壁紙

到現在爲止,我已經在qt的無邊框窗口中創建了應用程序。它工作安靜。

但是QT中有一種方法可以改變窗口的高度,使其出現在窗口的上方,但在圖標的後面?

編輯:

確定,如果找到了一個簡單的解決方案。

經過一些使用提示表單kusg1的測試後,我發現何時有一個透明的窗口鼠標事件仍在桌面上。

我其實想要讓這個網站有壁紙:Ticketack。 - 所以我創建了一個無框架的窗口,它保持在底部並具有透明背景並顯示文本。除此之外,我可以直接更改窗口壁紙以獲取時鐘的背景。

因此,時鐘文本不在圖標後面,但我認爲這樣可以。

+0

基本上你重新創建的[Windows DreamScene的(https://en.wikipedia.org/wiki/Windows_DreamScene)?使用的DLL可以在Windows 7中註冊以啓用相同的功能。 – Nasreddine

+0

不完全是,它想要使用網頁作爲背景。 –

回答

1

只是一些想法:使用Windows標誌作爲的Qt ::窗口| Qt :: FramelessWindowHint + Windows保持底部提示,並設置小部件的內容與您的動畫內容(適合的候選人是使用QGraphicsView)。

小部件需要兩個主要任務:

  1. 在啓動時,它將桌面背景像素圖,做覆蓋與動畫內容(這需要有桌面是壁紙少的簡單場景)。

  2. 如果用戶想要單擊桌面上的圖標,則該小部件需要捕獲鼠標並將事件和通道重新聚焦回實際的窗口命令。

更新:

一些指針的實現:

  • 用於管理桌面圖標,有一個很好的文章here! (也從SO發現)。 QPixmap :: grabWindow(QApplication :: desktop() - > winId()); QPixmap :: grabWindow(QApplication :: desktop() - > winId());示例代碼和演示有一個示例在桌面快照,代碼片段是:
+0

這聽起來很有希望,有任何提示或例子,我如何執行這些任務? –