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