分享

Qt控件外观样式设置一览表附丰富模板qss

 新潮看世界 2023-04-01 发布于北京

QtCreator设置样式

一般情况下,在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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多