Qt 無邊框、透明、可移動、的個性窗體案例詳解
轉自:http://blog.csdn.net/yiyaaixuexi/article/details/6362865
很多朋友都問透明的效果怎麼做,為什麼自己做的無邊框窗體不可移動,一個個回答的很累,乾脆寫出來分享下好了.
- int main(int argc, char *argv[]){
- QApplication::setStyle("cleanlooks");
- QApplication a(argc, argv);
- login w;
- w.setWindowTitle("ClientLogin");
- w.setWindowOpacity(1);
- w.setWindowFlags(Qt::FramelessWindowHint);
- w.setAttribute(Qt::WA_TranslucentBackground);
- w.show();
- w.move(200,100);
- return a.exec();
關鍵的語句,就是其中的:
- w.setWindowOpacity(1);
- w.setWindowFlags(Qt::FramelessWindowHint);
- w.setAttribute(Qt::WA_TranslucentBackground);
這些語句,不知道什麼意思就摁下F1,或者直接查閱幫助文件……
對窗體無邊框的設定要寫在main裡面,這樣所有派生的子視窗,QDialog,QWidget都可繼承, 很好規劃和管理,方便統一美化設計。
以工程中一個聊天視窗為例,先用PS製作一個窗體的背景圖片,注意存為png格式,這是透明的關鍵。不會使PS,可以找些PNG資源圖片。 我的PNG透明背景圖為:
將它新增到你的資源包中,然後設定為窗體的背景。
下圖是我的工程,其中的場景設定其實也是更換組建的背景圖片嘍~~
這個你就可以預覽到透明的無邊框窗體了,但是還有一個重要的問題,視窗竟然無法移動。
這也是無邊框導致的……具體原因我不細說,搜一下很清晰,我只說解決方案。
在每個子視窗中,都新增:
- void yourwindow::mousePressEvent(QMouseEvent *event){
- this->windowPos = this->pos();
- this->mousePos = event->globalPos();
- this->dPos = mousePos - windowPos;
- }
- void yourwindow::mouseMoveEvent(QMouseEvent *event){
- this->move(event->globalPos() - this->dPos);
- }
這樣就大功告成了,執行一下看看效果,綠森林是俺滴桌面,可以忽略之。
歡迎交流
相關文章
- Qt開源作品38-無邊框窗體方案(無抖動,支援win、linux、mac等系統,側邊半屏頂部全屏)QTLinuxMac
- CSS 寫個帶邊框背景色透明的訊息框CSS
- CSS 3半透明邊框CSS
- QT QLable屬性設定(尺寸,邊框等)QT
- 移動 web 1px 邊框解決方案Web
- 目前解決移動端1px邊框最好的方法
- 最常用的移動端1畫素邊框解決方法
- CSS 設定邊框透明度CSS
- 半透明邊框與background-clip
- CSS邊框盒子模型詳解CSS模型
- 移動端實現1px的邊框
- css3半透明邊框程式碼CSSS3
- css半透明邊框程式碼例項CSS
- CSS 邊框陰影立體邊框CSS
- aardio 背景透明的3種方式(透明窗體1 webview2,透明窗體2-win-region-bitmap,透明窗體3-winform-transparent-color)WebViewORM
- 無邊框 Button 【WPF】
- 小程式中button的邊框無法去除 button邊框如何去除
- CSS3製作半透明邊框記得以前Facebook有段時間使用了非常多的半透明邊框(Facebox)CSSS3
- 雲==資料和軟體的可自動遷移性
- 彈性效果網頁右側浮動框詳解網頁
- 移動端點選連結出現藍色邊框解決方案
- css實現半透明邊框程式碼例項CSS
- CSS設定邊框為透明程式碼例項CSS
- SVG設定邊框的透明度程式碼例項SVG
- 移動沒有CAPTION的窗體 (轉)APT
- android shape的使用詳解以及常用效果(漸變色、分割線、邊框、半透明陰影效果等)Android
- 如何在pyqt中給無邊框視窗新增DWM環繞陰影QT
- 移動端彈窗滾動時window窗體也一起滾動的解決辦法
- 谷歌新園區規劃曝光:可移動的透明建築谷歌
- 移動端H5 實現0.5px邊框H5
- Qt如何寫一個三秒自動消失提示窗,適用於窗體和tableView中QTView
- CSS3郵票鋸齒邊框效果詳解CSSS3
- css動態邊框效果CSS
- 小視訊原始碼,CSS 實現半透明邊框效果原始碼CSS
- BCB 窗體透明控制元件 (轉)控制元件
- 關於border設定無邊框
- win10怎麼關閉視窗移動至邊緣時自動調整大小_win10取消移動視窗到邊緣自動調整大小的方法Win10
- 簡解Css - 多變的邊框CSS