5.5 QWidget样式设置


***【在线视频教程】***

好文章,来自【福优学苑@音视频+流媒体】

5.5 QWidget样式设置

5.5.1 QWidget设置背景色与透明度

Widget::Widget(QWidget *parent) :

    QWidget(parent),

    ui(new Ui::Widget)

{

    ui->setupUi(this);

 

    // 设置窗口背景色

this->setAutoFillBackground(true);

 

//获取widget的调色板

QPalette palette = this->palette(); 

 

// 设置调色板的背景颜色

palette.setColor(QPalette::Background, QColor(0x30,0x30,0x50));

//QColor(Qt::red)

 

//widget重新设置调色板

    this->setPalette(palette);

 

    // 设置widget的透明度

    this->setWindowOpacity(0.5);

}

好文章,来自【福优学苑@音视频+流媒体】



5.5.2 QWidget窗口状态设置最大化最小化全屏

窗口状态-最大化最小化全屏


// 窗口状态-最大化最小化全屏

    /*

    enum WindowState {

        WindowNoState    = 0x00000000,

        WindowMinimized  = 0x00000001,

        WindowMaximized  = 0x00000002,

        WindowFullScreen = 0x00000004,

        WindowActive     = 0x00000008

    };

    */

this->setWindowFlags(Qt::WindowFullScreen );

好文章,来自【福优学苑@音视频+流媒体】


5.5.3 QWidget设置无边框/最大化/最小化/关闭按钮

●setWindowFlags

●setWindowFlag(Qt::WindowCloseButtonHint,false)


#include "widget.h"

#include "ui_widget.h"

using namespace Qt;

Widget::Widget(QWidget *parent) :

    QWidget(parent),

    ui(new Ui::Widget)

{

    ui->setupUi(this);

 

    

//去除界面边框和标题栏

    //this->setWindowFlags(Qt::FramelessWindowHint);

 

    //去除最大化、最小化按钮

    //this->setWindowFlag(WindowMinimizeButtonHint,false);

    //this->setWindowFlag(WindowMaximizeButtonHint,false);

 

    //标题栏保留,去除所有按钮

    //this->setWindowFlags(WindowTitleHint|CustomizeWindowHint);

 

    //只有关闭按钮

    this->setWindowFlags(WindowCloseButtonHint);

 

}


 好文章,来自【福优学苑@音视频+流媒体】

5.5.4 QWidget窗口禁止拖拽改变大小

this->setWindowFlags(Qt::MSWindowsFixedSizeDialogHint);



好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***