- Jan 04 Sat 2014 23:54
[ C ] 變數的生命期與可使用的範圍
- Dec 24 Tue 2013 22:34
[Linux] wifi-wpa_supplicant設定檔
- Dec 24 Tue 2013 22:22
[QT] PushButton的SLOT函式中設setEnabled(false)導致當機
- Dec 24 Tue 2013 22:10
[QT] 設置半透明背景&qrc圖檔無法顯示的小問題
日前為了設置半透明背景
做了一些試驗
開發環境Fedora, 使用Qt.4.7.2版本
編譯完的GUI執行檔在Linux機器上跑..
{ qrc檔遇到的小問題心得 }
若"編譯"與"編輯"使用不同QT版本(還是跟Fedora與Window OS差別有關?), 可能會造成qrc檔圖檔連結有錯誤, 在機器上跑GUI顯示不出來
事情是這樣的:
原本我的fedora開發環境中, QT是使用4.7.2版本
但因為開發環境是架設在VMare,
而..在VMware中使用QT編輯器, 實在跑很慢又很鈍= =
所以我開了分享資料夾, 將我的GUI code放在分享資料夾裡, 在Window下使用QT4.7.4版本"編輯" GUI code
而且還直接使用QT4.7.4去新增qrc圖檔
發現!!!
編譯完的執行檔會無法顯示出圖檔
直接在VMware中用QT新增qrc圖檔或在VMware中使用終端機去vi編輯qrc檔就正常了
{ 設置半透明背景 }
要先自行準備有半透明效果的圖 (我是直接用fedora裡的GNU圖片處理程式)
而且要注意, 在Window7下瀏覽圖片半透明效果看起來是灰色的, 全透效果看起來則是白色的
只有在fedora下瀏覽才會看得出來
我必須說..一 切 都 是 試 驗 的 結 果
很多原因我並不知道是為什麼><
首先一個最古怪的事情
每個UI 頁面與其上面所有的物件之間要加上一層QGroupBox, 顯示半透明頁面才會正常
要不然會出現全透效果 =口= (這到底是什麼鬼啦)
你可以選擇在UI (也許是QWidget也許是QFrame)加入半透明背景圖, 也可以選擇在GroupBox加入半透明背景圖
而另一個就在StyleSheet中設定以下
background-image: url(:none);
(其實應該不設也可以, 保險起見設一下)
A. 一般頁面(一個UI僅一個QWidget, 較單純)
一般頁面的話效果還算正常
只需要如上面所說的, 將Widget 或GroupBox 放入半透明效果的背景圖, 並且在建構子中設定半透明屬性就可以了,
(廢話: 你想墊在下面有朦朧美的舊頁面請不要hide())
設定半透明屬性程式碼:
this->setAttribute(Qt::WA_TranslucentBackground,true);
this->setAutoFillBackground(true);
this->setAttribute(Qt::WA_NoSystemBackground,true);
/*從QT官網看的reference說若設定TranslucentBackground屬性的話就必須加上NoSystemBackground屬性*/
- Sep 09 Mon 2013 23:22
[小提琴] 基本練習筆記