• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            逛奔的蝸牛

            我不聰明,但我會很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::

            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值來控制。

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

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

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

            透明的控件的TranslucentBackground屬性為true (繼承了parent的屬性), 而非透明的控件則在代碼中強制將TranslucentBackground設(shè)為了false, 這樣就造就了有意思的結(jié)果。 代碼片段如下:
            label = new QLabel(”www.cuteqt.com”);
            label->setAttribute(Qt::WA_TranslucentBackground, false);
            label->setAutoFillBackground(true);

            Alpha Channel控制透明度
            將這個例子稍稍改動, 修改一下窗體背景色的Alpha值, 使之展現(xiàn)不同的透明度。 實現(xiàn)的方法是設(shè)置窗體的palette屬性, 為Background這個ColorRole的顏色設(shè)置了alpha值, 代碼片段如下:
            QPalette pal = palette();
            pal.setColor(QPalette::Background, QColor(255,0,0,200));
            setPalette(pal);

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

            translucent1

            translucent2

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

            translucent.tar.gz

            posted on 2009-06-12 17:27 逛奔的蝸牛 閱讀(11218) 評論(9)  編輯 收藏 引用 所屬分類: Qt自定義Widget

            評論

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體[未登錄] 2009-06-25 16:10 haha
            哦?準(zhǔn)備試試~  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體 2009-07-02 13:47 dotboy
            你好,我下了你的代碼在windows平臺下試用了下,結(jié)果只是主窗體的背景變成黑色了,并沒有看到桌面...  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體 2009-07-03 08:32 dotboy
            搞定了,在windows下,要把標(biāo)題欄給去了才能顯示透明效果...  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體 2009-07-17 23:01 Holy
            gz的文件是什么格式?用winrar解壓不了啊!
            麻煩樓主最好用WinRar打包一下吧  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體[未登錄] 2009-08-12 17:09 天天
            請問wince下能否實現(xiàn)透明的效果  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體[未登錄] 2010-02-23 15:26 路人甲
            關(guān)鍵一句話“透明的控件的TranslucentBackground屬性為true (繼承了parent的屬性), 而非透明的控件則在代碼中強制將TranslucentBackground設(shè)為了false,”  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體 2011-06-09 11:11 ykh
            如何去掉標(biāo)題呢?指的是什么標(biāo)題@dotboy
              回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體 2014-06-23 11:33 tomy
            代碼下載不了呢,能不能發(fā)一份到guesttomy@sina.com? 非常感謝  回復(fù)  更多評論
              

            # re: QtWidget: 利用Qt4.5新特性實現(xiàn)酷炫透明窗體 2014-11-05 18:17 trovaip
            TrovaIP è il sito che permette di scoprire il proprio indirizzo IP.
            http://www.trovaip.it/host/friv-planet.com
            http://www.trovaip.it/host/friv-top.com
            http://www.trovaip.it/host/juegos-friv-10.com
            http://www.trovaip.it/host/giochi-delle-winx.com
            http://www.trovaip.it/host/denygiochi.it  回復(fù)  更多評論
              

            a高清免费毛片久久| 久久久噜噜噜久久| 无码人妻久久一区二区三区免费丨| 亚洲精品乱码久久久久久蜜桃 | 久久人妻少妇嫩草AV无码蜜桃| 久久播电影网| 久久婷婷国产综合精品| 国产三级观看久久| 狠狠色丁香婷婷久久综合五月| 久久99国产综合精品| 久久久久无码专区亚洲av| 色婷婷综合久久久久中文一区二区 | 国产精品VIDEOSSEX久久发布| 久久这里只精品99re66| 久久亚洲国产欧洲精品一| 久久久久久精品无码人妻| 91精品日韩人妻无码久久不卡| 久久精品国产乱子伦| 久久国产免费| 亚洲国产精品人久久| 2020久久精品国产免费| 久久精品国产亚洲AV忘忧草18| 国产农村妇女毛片精品久久| 无码AV波多野结衣久久| 2021国产精品久久精品| 精品无码人妻久久久久久| 久久久精品免费国产四虎| 久久精品国产99久久无毒不卡| 一本久久a久久精品vr综合| 久久久精品日本一区二区三区| 91久久精品国产91性色也| 久久99国产乱子伦精品免费| 性做久久久久久久| 色综合久久中文字幕无码| 99久久综合国产精品免费| 日韩亚洲国产综合久久久| 亚洲v国产v天堂a无码久久| 亚洲国产香蕉人人爽成AV片久久| 久久久精品波多野结衣| 久久久久亚洲AV成人网人人软件| 久久国产精品波多野结衣AV |