当前位置: 首页 > article >正文

Qt-界面优化控件样式设置(72)

目录

描述

QPushButton

自定义复选框

输入框

列表框

菜单

实现登入界面

设置背景图

改变样式表


描述

这里介绍一些控件的样式设置

QPushButton

相关属性

font-size设置⽂字⼤⼩.
border-radius设置圆⻆矩形.
数值设置的越⼤, ⻆就 "越圆".
background-color设置背景颜⾊

本人设置的不好看

QPushButton {
	font-size: 20px;
	border: 2px soild rgb(120, 23, 255);
	border-radius:10px;
	background-color:rgb(0, 0, 0);
	color: rgb(0, 0, 255)
}
QPushButton:pressed {
	background-color: rgb(255, 0, 0)
}

自定义复选框

 相关属性

要点说明
::indicator⼦控件选择器.
选中 checkbox 中的对钩部分.
:hover伪类选择器.选中⿏标移动上去的状态
:pressed伪类选择器.
选中⿏标按下的状态.
:checked伪类选择器.
选中 checkbox 被选中的状态.
:unchecked伪类选择器.
选中 checkbox 未被选中的状态.
width设置⼦控件宽度.
对于普通控件⽆效 (普通控件使⽤ geometry ⽅式设定尺⼨).
height设置⼦控件⾼度.
对于普通控件⽆效 (普通控件使⽤ geometry ⽅式设定尺⼨).
image设置⼦控件的图⽚.
像 QSpinBox, QComboBox 等可以使⽤这个属性来设置⼦控件的图⽚.

创建⼀个  resource.qrc  ⽂件, 并导⼊以下图⽚,可以去矢量图网站中下载,有很多的

使⽤⿊⾊作为 默认 形态.
使⽤蓝⾊作为 hover 形态.
使⽤红⾊作为 pressed 形态. 

添加qrc资源

运行 

可以使用添加资源的方式,来保证地址输入的正确

 

QCheckBox{
	font-size: 20px;
}
QCheckBox::indicator{
	width: 20px;
	height: 20px;
}
QCheckBox::indicator:unchecked {
	image: url(:/checkbox-off.png);
}
QCheckBox::indicator:unchecked:hover {
	image: url(:/checkbox_hover_off.png)
}
QCheckBox::indicator:unchecked:pressed {
	image: url(:/checkbox_pressed_off.png)
}
QCheckBox::indicator:checked {
	image: url(:/checkbox-on.png);
}
QCheckBox::indicator:hover {
	image: url(:/checkbox_hover_on.png);
}
QCheckBox::indicator:pressed {
	image: url(:/checkbox_pressed_on.png);
}

输入框

相关属性

属性说明
border-width设置边框宽度.
border-radius设置边框圆⻆.
border-color设置边框颜⾊.
border-style设置边框⻛格.
padding设置内边距.
color设置⽂字颜⾊.
background设置背景颜⾊.
selection-background-color设置选中⽂字的背景颜⾊.
selection-color设置选中⽂字的⽂本颜⾊.

使用

 

QLineEdit {
	border-width: 2px;
	border-color: rgb(56, 255, 53);
	border-style: solid;
	border-radius: 20px;
	padding-left: 10px;
	color: rgb(170, 255, 0);
	font-size: 24px;
	background-color: rgb(255, 255, 127);
	selection-color: rgb(85, 255, 255);
	selection-background-color: rgb(255, 85, 255);
}

列表框

相关属性

::item选中 QListView 中的具体条⽬.
:hover选中⿏标悬停的条⽬
:selected选中某个被选中的条⽬.
background设置背景颜⾊
border设置边框.
qlineargradient设置渐变⾊

QListWidget::item:hover {
	background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FAFBFE, stop: 1 #DCDEF1);
}
QListWidget::item:selected {
	background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6a6ea9, stop: 1 #888dd9);
}

 

菜单

相关属性

QMenuBar::item选中菜单栏中的元素.
QMenuBar::item:selected选中菜单来中的被选中的元素.
QMenuBar::item:pressed选中菜单栏中的⿏标点击的元素.
QMenu::item选中菜单中的元素
QMenu::item:selected选中菜单中的被选中的元素.
QMenu::separator选中菜单中的分割线.

使用

代码

QMenuBar {
	background-color: #f0f0f0;
	spacing: 5px;
}
QMenuBar::item {
	border-radius: 10px;
	padding: 3px 10px;
	background-color: rgb(255, 255, 210);
}
QMenuBar::item:selected {
	background-color: rgb(170, 85, 0);
}
QMune:item {
	border: 2px solid transparent;
	padding: 2px 10px;
}
QMenu::item:selected {
	border: 2px solid red;
}
Qmenu::separator {
	height: 2px;
	background-color: green;
	nargin: 0 5px;
}

实现登入界面

首先拉取需要用到的控件,使用垂直布局管理器管理后,可以看到很不友好,我们需要设置一下它们的属性

因为使用了布局管理器,所以我们无法直接设置它们的高度和宽度

我们可以通过设置最小高度和最大高度来设置好控件的高度,当然宽度也可以这样设置

设置好之后,好看一些了

设置背景图

在 Qt 中我们无法直接在 QWidget 顶层窗口中去添加背景图

 

窗口背景设置方法

添加背景图

添加一层 Qframe

改变样式表

图片变扁扁的了

QFrame {
	border-image: url(:/cat.jpg);
}

QLineEdit {
	color: white;
	background-color: #405361;
	padding: 0 5px;
	font-size: 20px;
	border: none;
	border-radius: 10px;
}

QCheckBox {
	color: white;
	font-size: 18px;
}

QPushButton {
	font-size: 20px;
	color: white;
	background-color: #555;
	border-radius: 10px;
}

QPushButton:pressed {
	color: black;
	background-color: orange;
}

 

总结


http://www.kler.cn/news/357509.html

相关文章:

  • k8s的部署和安装
  • java 根据word模板,实现数据动态插入,包括二维码图片插入,并合并多个word文档,最终转为pdf导出
  • Java Exercise
  • ELK中segemntmerge操作对写入性能的影响以及控制策略和优化方法
  • JavaWeb合集05-SpringBoot基础知识
  • 设计模式03-装饰模式(Java)
  • 机器学习与物理学的相遇:诺贝尔奖新篇章的启示
  • LabVIEW伺服压机是如何实现压力位移的精度?
  • C++中placement new的用法
  • 电子商务网站维护技巧:保持WordPress、主题和插件的更新
  • 客户案例 | Ansys与台积电和微软合作加速光子仿真
  • 使用函数制作一个简易的计算机
  • 生成 Excel 表列名称
  • 神经网络量化基础
  • C05.L01.插入与冒泡排序.冒泡排序
  • 太无敌!时序卷积组合Transformer!TCN-Transformer多变量回归预测
  • 【Nginx系列】Nginx配置超时时间
  • Axure重要元件三——中继器添加数据
  • 【微服务】精细化微服务日志管理:构建高效的监控与故障排查体系
  • JVM(HotSpot):直接内存及其使用建议