歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Qt中通過設置位圖掩碼生成異形控件【附源碼】

以下步驟是以按鈕為例,其他控件類似

①在QtDesigner中拖出一個按鈕或者在程序中生成一個按鈕。

②加載一個用來指定按鈕形狀的圖片:

QPixmap pixmap("images/left.png");//這裡是一個左箭頭

③調用此按鈕的setMask()函數來設置控件掩碼,參數是從pixmap中提取的位圖掩碼pixmap.mask():

ui->leftButton->setMask(pixmap.mask());

④注意:最好將圖片的大小剪裁成和控件一樣大,若圖片過大會出現只使用了圖片的一部分做遮掩,

若圖片過小則只能遮掩控件的一部分。

⑤到此為止只是將控件的形狀改變,若在控件上加上背景圖或圖表,會更漂亮:

ui->leftButton->setStyleSheet("QPushButton{border-image:url(images/left.png);}"

"QPushButton:hover{border-image:url(images/left2.png);}"

"QPushButton:pressed{border-image:url(images/left3.png);}");

這裡是通過QSS設置了按鈕的常態、指針懸停、按下三個狀態的背景圖。

下面的實例是視頻監控系統中用到的八方向雲台控制的操作盤原型,每個方向都是用箭頭圖片做掩碼後生成的異形按鈕。

效果如圖:

常態

鼠標懸停

按鈕被按下

源碼下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2013年資料/4月/22日/Qt中通過設置位圖掩碼生成異形控件

Copyright © Linux教程網 All Rights Reserved