關於 Qt 4.7.0 背景透明化的設定

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

關於 Qt 4.7.0 背景透明化的設定

文章sapob » 週四 2月 10, 2011 10:08 am

Qt 4.7.0 embedded 使用Qt 的directfb plugin 做好的環境
在做Qt的Application開發時
在螢幕中央畫一個form (沒有打滿版)
希望form以外的背景是透明的 (要可以看到底下層plane的畫面)

我使用 QWSServer::instance()->setBackground(QBrush(Qt::transparent)); 來做

之前用Qt 4.5時也是使用同樣的方式,是可行的,但現在於Qt 4.7.0上使用相同的方法卻沒有效果,不知是不是Qt 4.7.0的bug
不知各位先進是否有遇到類似的問題呢? 該如何解決
sapob
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週四 2月 10, 2011 9:55 am

Re: 關於 Qt 4.7.0 背景透明化的設定

文章t47320 » 週二 2月 15, 2011 12:43 pm

可以試試看這段code

window 為 widget

QPalette pal = window->palette();
pal.setColor(QPalette::Background, QColor(0x00,0x00,0x00,0x50));
window->setPalette(pal);
t47320
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週五 3月 23, 2007 3:51 pm
來自: 苗栗

Re: 關於 Qt 4.7.0 背景透明化的設定

文章sapob » 週三 2月 16, 2011 11:39 am

感謝大大提供方法,不過問題還是沒辦法解決掉
結果如下:
僅有form內的區域變半透明效果,且經調整QColor的數值,似乎沒辦法達到完全透明,仍會有一層淡淡的綠色
而form以外的背景一樣是綠色的

開始懷疑4.7版本有bug了
sapob
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週四 2月 10, 2011 9:55 am


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客