成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Qt Widget 利用 Qt4.5 實(shí)現(xiàn)酷炫透明窗體

移動開發(fā)
QWidget類是所有用戶界面對象的基類。窗口部件是用戶界面的一個原子:它從窗口系統(tǒng)接收鼠標(biāo)、鍵盤和其它事件,并且在屏幕上繪制自己的表現(xiàn)。

本文講述的是Qt Widget 利用 Qt4.5 實(shí)現(xiàn)酷炫透明窗體,QWidget類中的每一個窗口部件都是矩形,并且它們按Z軸順序排列的。一個窗口部件可以被它的父窗口部件或者它前面的窗口部件蓋住一部分。 先來看內(nèi)容吧。

Qt4.2引入了QWidget::setWindowOpacity函數(shù), 可以為窗體設(shè)置透明度, 從0.0到1.0之間, 值越小越透明。 經(jīng)過設(shè)置的窗體可以整體呈現(xiàn)透明的效果。 但這種設(shè)置比較粗糙, 只能設(shè)一個整體的效果,大概只有比如像拖動的時(shí)候能用一下,大多數(shù)時(shí)候都不太實(shí)用。在Qt4.5里引入了新的窗體透明特性, 是個Widget的Attribute, 叫做Qt::WA_TranslucentBackground。 這個屬性可以為每個QWidget單獨(dú)設(shè)置, 并且透明程度可以用繪制的顏色或圖片的Alpha Channel值來控制。

筆者寫了一個例子演示其奇妙的效果。 先看一個截圖:

Qt Widget 利用 Qt4.5 實(shí)現(xiàn)酷炫透明窗體

這個是筆者例子運(yùn)行出來的效果, 背景是www.cuteqt.com雷人的主頁。  下面簡單介紹一下代碼的實(shí)現(xiàn)。

TranslucentBackground控制窗體透明屬性

例子主界面用QWidget, 其上放置四個控件, 上面兩個是自定義的QWidget子類, 用在paintEvent中繪制了一幅透明底色的圖片, 上書“CuteQt”幾個大字; 下面兩個是標(biāo)準(zhǔn)的QLabel控件, 但顯示出兩種不同的效果。

透明的控件的TranslucentBackground屬性為true (繼承了parent的屬性), 而非透明的控件則在代碼中強(qiáng)制將TranslucentBackground設(shè)為了false, 這樣就造就了有意思的結(jié)果。 代碼片段如下:

 

  1. label = new QLabel(”www.cuteqt.com”);  
  2. label->setAttribute(Qt::WA_TranslucentBackground, false);  
  3. label->setAutoFillBackground(true); 

Alpha Channel控制透明度

將這個例子稍稍改動, 修改一下窗體背景色的Alpha值, 使之展現(xiàn)不同的透明度。 實(shí)現(xiàn)的方法是設(shè)置窗體的palette屬性, 為Background這個ColorRole的顏色設(shè)置了alpha值, 代碼片段如下:

  1. QPalette pal = palette();  
  2. pal.setColor(QPalette::Background, QColor(255,0,0,200));  
  3. setPalette(pal); 

下圖所示為alpha值100和200的不同顯示效果。

Qt Widget 利用 Qt4.5 實(shí)現(xiàn)酷炫透明窗體 

Qt Widget 利用 Qt4.5 實(shí)現(xiàn)酷炫透明窗體 

怎么樣, 這個例子挺有意思吧? 趕快下載完整的代碼學(xué)習(xí)一下吧~ 有任何不明白blog或bbs留言~

translucent.tar.gz

小結(jié):Qt Widget 利用 Qt4.5 實(shí)現(xiàn)酷炫透明窗體的內(nèi)容講完了,你也許也會認(rèn)為實(shí)現(xiàn)的效果很炫吧,那么希望本篇文章能幫助你學(xué)習(xí)。

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-03-11 09:09:12

Qt開發(fā)工具SDK

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-09-09 17:59:26

QT Widget

2011-06-24 13:08:34

Qt Qt 4.5.3 移植

2011-06-21 09:46:49

Qt 半透明 嵌入

2011-06-23 15:10:39

Qt 窗體

2011-06-13 15:33:24

Qt Qt 4.5

2011-06-13 14:29:40

Qt Designer

2011-06-30 13:37:29

MFC Qt 多國語

2015-07-09 09:00:43

C#Winform透明動畫

2011-09-07 16:28:46

QT WidgetQWidget

2011-09-07 16:36:00

Qt Widget

2011-09-07 16:24:10

Qt Widget

2011-09-07 16:43:38

Qt Widget

2011-06-13 17:17:22

Qt 繪圖 QWT

2011-09-07 16:57:31

QT WidgetQWidget

2009-10-12 17:32:36

VB.NET窗體應(yīng)用技

2011-02-25 15:49:09

NecessitasQtAndroid

2011-06-30 17:51:17

QT 元類型 線程

2011-07-01 17:36:23

Qt
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久国产美女视频 | 亚洲午夜精品 | 99热在线播放 | 国产精品久久久久久久久久久久 | 夜夜爽99久久国产综合精品女不卡 | 成人网av | 超碰一区二区 | 韩国精品在线 | 新91视频网 | 久久久综合色 | 久久精品男人的天堂 | 久久av一区 | 成人网在线观看 | 中文字幕在线免费观看 | 久草视 | 精品无码久久久久国产 | 久久婷婷色 | 免费一级毛片 | 自拍中文字幕 | 国产精品一二三区 | 高清一区二区三区 | 夜夜操操操 | 国产一区二区在线免费观看 | 国产欧美一区二区三区日本久久久 | 色av一区二区 | 亚洲色图插插插 | 天天干天天爱天天操 | 欧美日韩在线精品 | 久久久久国产精品一区二区 | 国产三级 | 国产资源视频 | 成人精品毛片国产亚洲av十九禁 | 久久精品国产一区老色匹 | 97超碰免费 | 丁香婷婷成人 | 在线观看成人 | 久久一二| 久久99精品久久久久久狂牛 | 91精品国产色综合久久不卡蜜臀 | 欧美性受xxxx | 欧美日韩视频在线 |