qtdesigner界面美化


前言

pyqt5能快速构建界面,但是你会发现构建出来的界面没有像我们平常用的客户端界面一样美观。现在,就让我学习一下如何美化界面。本章代码使用qtdesigner页面布局中的代码继续学习


一、QSS

QSS和CSS类似,只不过QSS适用于qt界面设计,语法上跟CSS差不多,就是选择器上有所不同

1.1、QSS选择器介绍

下面列出常用QSS选择器及其用法

Selector示例说明
Universal Selector*星号匹配所有的界面元素
Type SelectorQPushButton选择所有 QPushButton类型 (包括其子类)
Class Selector.QPushButton选择所有 QPushButton类型 ,但是不包括其子类
ID SelectorQPushButton#okButton选择所有 对象名为 okButton 的QPushButton类型
Property SelectorQPushButton[flat=“false”]选择所有 flat 属性值为 false 的 QPushButton类型。
Descendant SelectorQDialog QPushButton选择所有 QDialog 内部 QPushButton类型
Child SelectorQDialog > QPushButton选择所有 QDialog 直接子节点 QPushButton类型

2.2、使用

例如做下面一个这样的界面
在这里插入图片描述
QSS代码是在styleSheet下编写设置,这里我在主窗口(Form类)下的styleSheet。
在这里插入图片描述
注意:如果一个元素的显示样式被多层指定了, 越靠近元素本身 的选择指定,优先级越高。(例如你在主窗体类里面指定了样式,有在控件本身指定了样式,那样式以自身指定的为准)

将用户名等文本设置成蓝色,因为他们都属于控件QLabel,QSS代码如下

QLabel{
	color: rgb(85, 0, 255);
	font-size: 20px;
}

将输入框设置成圆角,且选择的时候边框变成蓝色,因为他们都属于QLineEdit,QSS代码如下:

QLineEdit{
	height: 30px;
	border-radius: 15px;
	padding-left: 10px;
}
QLineEdit:focus{
	border: 1px solid  rgb(85, 0, 255);
}

按钮设置成白底蓝字,鼠标经过的时候变成蓝底白字,因为他们都属于QButton,QSS代码如下:

QPushButton{
	border: 1px solid rgb(85, 0, 255);
	background-color: rgb(255, 255, 255);
	color: rgb(85, 0, 255);
	height: 25px;
	font-weight: 700;
}

QPushButton:hover{
	border: none;
	background-color: rgb(85, 0, 255);
	color: rgb(255, 255, 255);
}

附上完整代码:

QPushButton{
	border: 1px solid rgb(85, 0, 255);
	background-color: rgb(255, 255, 255);
	color: rgb(85, 0, 255);
	height: 25px;
	font-weight: 700;
}

QPushButton:hover{
	border: none;
	background-color: rgb(85, 0, 255);
	color: rgb(255, 255, 255);
}
QLabel{
	color: rgb(85, 0, 255);
	font-size: 20px;
}
QLineEdit{
	height: 30px;
	border-radius: 15px;
	padding-left: 10px;
}
QLineEdit:focus{
	border: 1px solid  rgb(85, 0, 255);
}

二、自定义属性

在实际应用中,不会同一种控件都是同一个样式,相反,更多的情况是同一个控件会有不同的样式。
一种方法是到对应控件里面设置样式,但是这个方法不好的地方在于不能批量设置样式。
另一种方法是通过属性来对控件进行分组设置样式,虽然可以通过系统自带属性来区分不同控件,但是一般不推荐改,这时候自定义属性就派上了用场。

2.1、添加自定义属性

选择登录按钮,然后点击加号,这里选择添加字符串,添加一个名为"class"的自定义属性,设置值为"black"
在这里插入图片描述
然后在上面代码的基础上添加一行代码

QPushButton[class='black']{
	color: black;
}

你会发现字体颜色变黑了
在这里插入图片描述
大功告成,有什么问题欢迎在评论区留言。

  • 13
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VS2013是一种集成开发环境,用于开发各种应用程序。而Qt是一个跨平台的框架,用于创建图形用户界面应用程序。在VS2013中使用Qt可以实现对界面美化。 要在VS2013中美化Qt界面,首先需要确保已经安装了Qt插件。在安装了Qt插件后,可以在VS2013中选择创建一个新的Qt项目。 创建一个新的Qt项目后,可以使用Qt的设计师工具来创建和编辑界面。设计师工具提供了丰富的控件和布局选项,可以轻松地设计出漂亮、直观的界面。通过拖拽和调整控件的属性,可以自由地调整界面的布局和外观。 在设计界面的过程中,可以使用Qt提供的样式表来为控件添加样式和效果。样式表是一种强大的工具,可以通过设置属性和值来改变控件的外观和行为。通过合理地运用样式表,可以为界面添加各种效果,比如背景图片、阴影效果、边框样式等。 此外,还可以使用Qt提供的图标库来为界面添加图标。Qt图标库包含了丰富的图标资源,可以用于按钮、菜单、工具栏等控件。通过选择合适的图标,可以为界面增加美观和可操作性。 在设计和美化界面时,还可以结合使用其他工具和插件,比如Qt Creator和Qt Designer。这些工具提供了更多的功能和选项,可以更加方便地进行界面设计和美化的工作。 总的来说,通过使用VS2013和Qt,可以实现对界面美化。通过合理地运用设计工具、样式表和图标资源,可以为界面增加各种效果,使其更加美观和易于操作。 ### 回答2: 在VS2013中,我们可以使用Qt框架进行界面美化。 使用Qt框架的好处是它提供了丰富的UI控件和样式,使得界面设计更加灵活多样。以下是一些常用的界面美化方式: 1. 使用自定义样式表:Qt提供了样式表功能,可以通过CSS样式表来定义控件的外观。我们可以设置控件的背景、字体、边框等属性,从而实现界面美化。 2. 使用图标和图片:Qt提供了丰富的图标和图片资源,我们可以在界面中使用这些资源来增加界面的吸引力。可以使用QIcon类来设置控件的图标,也可以通过QPixmap类来设置控件的背景图片。 3. 使用动画效果:Qt提供了动画框架,可以实现控件的平移、旋转、缩放等动画效果,从而提升用户体验。我们可以使用QAnimation类来创建和控制动画效果。 4. 使用自定义控件:Qt支持自定义控件的开发,我们可以根据自己的需求设计和实现新的控件,从而实现更加独特和个性化的界面效果。 5. 使用主题样式:Qt提供了一些现成的主题样式,我们可以直接应用到整个应用程序或者单个控件上,从而快速美化界面。可以通过QPalette类设置界面的颜色和样式。 总的来说,Qt提供了丰富的界面美化功能,可以帮助我们实现各种各样的界面效果。在VS2013中,我们可以充分利用这些功能,为我们的应用程序设计出漂亮、个性化的界面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值