Qt控件外观样式设置一览表附丰富模板qss
一般情况下,在QtCreator之中,打开ui设计器栏目,就可以在控件属性编辑器里的stylesheet下设置样式。
但是这里有个问题,那就是我们无法针对个别细节进行直接设置,譬如按钮的圆角,按钮的边距,padding等属性。
尤其是某些复合型控件,像QTableWidget,QTabWidget之类的,复合了其他控件,就更加无法设置样式表了。
Qss样式设置器鉴于Qt自带的控件样式设置比较简单,无法满足我们的需求,有开发者就自己开发了一个Qss样式设置器,可见即可得,虽然功能比不上Dreamweaver,也比不上某些css设置软件,但好在够直观,开源免费,并且小巧,几兆的大小。
使用起来也比较方便,我们可以在网上download一些现成的qss文件,譬如Git上经常会用到的那些。我已经放到网盘中,大家可以在底下看到,如果找不到,也可以私信我发给你。
如上图,我直接在左侧的qss编辑器中编写某个控件的qss语句,这里是QPushButton,无须保存,即可直接在右侧控件栏中看到编写的控件的样式了。基本上涵盖了QtCreator上的所有控件了。
丰富的QSS样式模板对于我们自己使用来说,如果像上面那样一个一个地编辑,效率比较低。而且我们不是美工设计人员,对调色配色,界面美观的理解感知比较粗浅,所以,我们需要的是丰富的主题模板。
也就是可以直接使用的qss文件,如上面图片中展示的那样,只要切换qss样式,就可以更换软件外观了。
这里我一并分享给大家了。
这里贴出部分代码:其他的大家可以自己去编辑。
/*-----QWidget-----*/
QWidget
{
background-color: qlineargradient(spread:repeat, x1:1, y1:0, x2:1, y2:1, stop:0 rgba(102, 115, 140, 255),stop:1 rgba(56, 63, 77, 255));
color: #ffffff;
border-color: #051a39;
}
/*-----QLabel-----*/
QLabel
{
background-color: transparent;
color: #ffffff;
font-weight: bold;
}
QLabel::disabled
{
background-color: transparent;
color: #898988;
}
/*-----QMenuBar-----*/
QMenuBar
{
background-color: #484c58;
color: #ffffff;
border-color: #051a39;
font-weight: bold;
}
QMenuBar::disabled
{
background-color: #404040;
color: #898988;
border-color: #051a39;
}
QMenuBar::item
{
background-color: transparent;
}
QMenuBar::item:selected
{
background-color: #c4c5c3;
color: #000000;
border: 1px solid #000000;
}
QMenuBar::item:pressed
{
background-color: #979796;
border: 1px solid #000;
margin-bottom: -1px;
padding-bottom: 1px;
}
/*-----QMenu-----*/
QMenu
{
background-color: #c4c5c3;
border: 1px solid;
color: #000000;
font-weight: bold;
}
QMenu::separator
{
height: 1px;
background-color: #363942;
color: #ffffff;
padding-left: 4px;
margin-left: 10px;
margin-right: 5px;
}
QMenu::item
{
min-width : 150px;
padding: 3px 20px 3px 20px;
}
QMenu::item:selected
{
background-color: #363942;
color: #ffffff;
}
QMenu::item:disabled
{
color: #898988;
}
好了,这期就分享到这里。上面的几种qss编辑方式虽然日常使用挺不错,但是还是缺乏可操作性。
既然,QtDesigner是开源的,我们为什么不能直接修改QtDesigner源码,将属性编辑器修改为我们想要的功能呢?答案自然是可以的。
下一期,我们看看如何添加更多的控件属性到QtDesigner源码之中,完成目标中的qss编辑器。记得持续关注,不见不散哦。
0条评论