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

目录

描述

QPushButton

自定义复选框

输入框

列表框

菜单

实现登入界面

设置背景图

改变样式表


描述

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

QPushButton

相关属性

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

本人设置的不好看

css 复制代码
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资源

运行

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

css 复制代码
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 | 设置选中⽂字的⽂本颜⾊. |

使用

css 复制代码
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 | 设置渐变⾊ |

css 复制代码
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 | 选中菜单中的分割线. |

使用

代码

css 复制代码
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

改变样式表

图片变扁扁的了

css 复制代码
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;
}

总结

相关推荐
0思必得07 小时前
[Web自动化] Selenium处理动态网页
前端·爬虫·python·selenium·自动化
东东5167 小时前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino7 小时前
图片、文件的预览
前端·javascript
layman05289 小时前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔9 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
AI老李9 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
_OP_CHEN9 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒9 小时前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
PHP武器库9 小时前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
电商API_1800790524710 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫