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

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

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

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

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

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

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

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

TranslucentBackground控制窗體透明屬性

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

透明的控件的TranslucentBackground屬性為true (繼承了parent的屬性), 而非透明的控件則在代碼中強制將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)不同的透明度。 實現(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 實現(xiàn)酷炫透明窗體 

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

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

translucent.tar.gz

小結(jié):Qt Widget 利用 Qt4.5 實現(xiàn)酷炫透明窗體的內(nèi)容講完了,你也許也會認(rèn)為實現(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-23 15:10:39

Qt 窗體

2011-06-21 09:46:49

Qt 半透明 嵌入

2011-06-13 14:29:40

Qt Designer

2011-06-13 15:33:24

Qt Qt 4.5

2011-06-30 13:37:29

MFC Qt 多國語

2015-07-09 09:00:43

C#Winform透明動畫

2011-09-07 16:24:10

Qt Widget

2011-09-07 16:28:46

QT WidgetQWidget

2011-09-07 16:36:00

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-07-01 17:36:23

Qt

2011-06-30 17:51:17

QT 元類型 線程
點贊
收藏

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

主站蜘蛛池模板: 日韩精品视频在线免费观看 | 成人高清网站 | 久久这里只有 | 国产精品九九九 | 999久久久| 亚洲欧美日韩精品久久亚洲区 | 在线观看日本网站 | 欧美一区二区三区视频 | 视频一区二区在线观看 | 91亚洲国产亚洲国产 | 欧美韩一区二区三区 | 国产九九九 | 久久久久亚洲 | 免费的色网站 | 精品免费国产 | 国产精品视频一区二区三区四区国 | 国产精品久久国产精品 | 久久91精品国产一区二区三区 | 欧美视频| 久久久精品网 | 久久精品视频播放 | 91在线观看| 欧美视频免费在线观看 | 国产一区二区激情视频 | 欧美成人猛片aaaaaaa | 国产欧美精品一区二区 | 一区二区在线免费观看 | 天天干b | 国产精品亚洲成在人线 | xxxxx免费视频 | 国产福利精品一区 | 久久精品久久精品久久精品 | 亚洲精品一区二区三区免 | 国产精品性做久久久久久 | 精精国产xxxx视频在线播放 | 日韩不卡在线 | 国产精品福利在线 | 国产精品成人一区 | aⅴ色国产 欧美 | 精品国产乱码久久久久久丨区2区 | 日本在线视 |