Qt日記(1)-360新版特性介面實現(1)

來源:互聯網
上載者:User

Qt日記開篇,沒啥特別的意思,像寫日記的方式一樣來記錄Qt的一些瑣事。作為中國眾多程式猿中的一名成員,我感到很"榮幸"。

工作當中,經常遇到一些小問題,卻花費了一些小時間,在網上搜尋答案,找到的文章也混亂無比,久而久之,案頭上的一些*.html和xxx_file檔案越積越多,終究擠不出時間好好整理一下這些零散的資料。過一段時間後,索性刪除,等下次遇到xx問題,繼續搜尋,進入while(1)。現在,迴圈N次,悟出了這麼個道理,將這些小事和自己做的東東整理成技術日記,也好提高工作效率,也能幫到需要協助的同行。

從Qt的介面實現說起,Qt能畫很多很炫的介面,但自己沒有美工的功底,只會模範美工的手藝,現在就來山寨一個撒(閩客說川話)。360安全衛士最新版本,在右上方的皮膚按鈕的旁邊,有一個下三角的主菜單,點擊快顯功能表,可以看到"新版特性",點擊開啟開始體驗。或者在安裝360安全衛士完成後,新版特性介面也會自動彈出,讓使用者快速探索該軟體的最新功能,這是一個很好的小應用,也可以將之添加到您現在正在使用的軟體中。

來幾張圖,看看新版特性介面到底是方的還是圓的。


上述幾張圖是360本身的新版特性介面,這個新版特性介面實現幾個功能:
1.滑鼠拖動,釋放後,緩慢的恢複到初始位置。
2.滑鼠拖動標題列,可以移動視窗。
3.點擊4個按鈕,分別向左/向右移動到相應的頁面。
4.上下左右鍵,控制頁面的左右移動。
5.介面的4個頂點為圓弧。
......

不知道這個介面是如何畫出來的,所以我打算用Qt來畫這個介面,有2種方法:
1.new出4個QLabel標籤,分別存放4張圖,然後分別控制。這種方法比較繁瑣,邏輯判斷太多。
2.new出1個QLabel標籤,將4張圖畫到QLabel中,然後按照4張圖的寬度,確定每張頁面的座標。這種方法比較簡單,我使用了這種方法。

在實現"360新版特性"介面時,會遇到這幾個痛點(相對的):
1.介面的透明。
2.堆棧表單的控制。
3.Qt事件過濾器。
4.自訂處理各種事件。
5.介面恢複的緩慢效果。

我已經實現了一個比較粗糙的版本,但有些達不到目標效果,有些比較繁瑣就沒有再寫了,以下是我的山寨版本:

有興趣的朋友,可以先下載到本地,體驗一下效果,嘗試動手寫一個,說不定用得著。

目前先提供可執行檔的,:360新版特性介面

具體涉及到源碼的實現,待下一篇文章。

作者  : gzshun.
E-Mail: gzshuns#163.com (@)

轉載請註明出處:http://blog.csdn.net/gzshun/article/details/7592865

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.