QT中设置透明窗体多种方法解决

以下是整理的4中设置透明窗体的方法

(1) Qt::WA_NoSystemBackground, Qt::WA_TranslucentBackground:
          setAutoFillBackground(false);  //这个不设置的话就背景变黑  
          setWindowFlags(Qt::FramelessWindowHint);  
          setAttribute(Qt::WA_TranslucentBackground,true); 


(2) setWindowOpacity(1);  //0是全透明,1是不透明  窗口及其上面的控件都半透明:


(3) setStyleSheet("background-color:transparent;");  样式表设置透明


(4) QPalette pal = palette();   
          pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));   
         setPalette(pal);  窗口整体透明,但窗口控件不透明,QLabel控件只是字显示,控件背景色透明;
         窗体客户区完全透明

你可能感兴趣的:(透明窗体,QT中透明窗口)