1、QT QSS设置按钮边界样式
QT设置按钮边界样式
本学习添加三个按钮来做研究:
QVBoxLayout* vbox = new QVBoxLayout();
QWidget* w = new QWidget(this);
this->setCentralWidget(w);
m_btn = new QPushButton("btn1",this);
m_btn2 = new QPushButton("btn2",this);
m_btn3 = new QPushButton("btn3",this);
m_btn->setFixedHeight(100);
m_btn2->setFixedHeight(100);
m_btn3->setFixedHeight(100);
设置背景
// this->setWindowOpacity(0.5); //全透明,包含控件
// this->setAttribute(Qt::WA_TranslucentBackground, true); //全透明不包含控件
this->setObjectName(“yjd”);
this->setStyleSheet(“QMainWindow#yjd{background-color:rgb(0,200,200)}”); //设置不继承给子类的背景颜色
//none : 无边框。与任何指定的border-width值无关
//hidden : 隐藏边框。IE不支持
//dotted : 在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5+为点线。否则为实线(常用)
//dashed : 在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5+为虚线。否则为实线(常用)
//solid : 实线边框(常用)
//double : 双线边框。两条单线与其间隔的和等于指定的border-width值
//groove : 根据border-color的值画3D凹槽
//ridge : 根据border-color的值画菱形边框
//inset : 根据border-color的值画3D凹边
//outset : 根据border-color的值画3D凸边
m_btn->setStyleSheet("QPushButton{background-color:black;"
"color:white;" //字体颜色
"border-radius:50px}"); //边界弧度
m_btn2->setStyleSheet("QPushButton{background-color:rgb(0,0,200);"
"border:10px solid gray;}"); //边界宽度,样式,颜色
m_btn3->setStyleSheet("QPushButton{background-color:yellow;"
"border-style:dashed;" //设置样式。注意:此类方式设置,最好带上此项设置,否则其它关于边界的设置可能无效。
"border-left-style:solid;border-right-style:outset;border-top-style:none;border-bottom-style:dotted;"//分别设置四个方向的样式。
"border-color:white;" //设置总体的边界颜色 //分别设置四个方向的颜色 border-left-color:red;border-right-color:black;border-top-color:rgb(122,255,23);border-bottom-color:green;
"border-width:5px;}"); //设置总体的边界宽度 //分别设置四个方向的边界宽度 border-left-width:5px;border-right-width:5px;border-top-width:15px;border-bottom-width:10px;
vbox->addWidget(m_btn);
vbox->addWidget(m_btn2);
vbox->addWidget(m_btn3);
w->setLayout(vbox);