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

server/2024/10/22 0:40:32/

目录

描述

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.ppmy.cn/server/133754.html

相关文章

24.安卓逆向-frida基础-objection工具3-实战

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…

Flume抽取数据(包含自定义拦截器和时间戳拦截器)

flume参考网址:Flume 1.9用户手册中文版 — 可能是目前翻译最完整的版本了https://flume.liyifeng.org/?flagfromDoc#要求: 使用Flume将日志抽取到hdfs上:通过java代码编写一个拦截器,将日志中不是json数据的数据过滤掉&#xf…

微信小程序使用MQTT连接阿里云

目录 一、新建项目和项目整体配置​ 二、MQTT 下载引入和配置连接​ 三、阿里云配置 1、创建产品及设备 2、数据进行云流转 四、创建 MQTT 连接​ 五、微信小程序配置 六、效果展示 1、微信小程序发送控制命令 2、LED台灯反馈LED状态 七、微信小程序项目完整代码 一…

Android10 recent键相关总结

目录 初始化流程 点击Recent键流程 RecentsActivity 显示流程 RecentsModel 获取数据管理类 RecentsActivity 布局 已处于Recent界面时 点击recent 空白区域 点击返回键 recent组件配置 Android10 Recent 功能由 System UI,Launcher共同实现。 初始化流程 …

react+video:限制快进、倍速、画中画

实现代码&#xff1a; <video ref{videoRef} src{videoUrl} className{style.video} controls onRateChange{rateChange} onPlay{playVideo} onPause{pauseVideo} onTimeUpdate{timeUpdate} disablePictureInPicture playsInline poster{poster} controlsList"nodownl…

在 Flutter鸿蒙next版本 中使用 if 语句和三元表达式进行视图逻辑判断

目录 写在前面 1. 使用 if 语句 1.1 使用 if 语句 1.2 使用多个条件 2. 使用三元表达式 2.1 简单示例 2.2 结合多条件判断 写在最后 最佳实践 写在前面 在 Flutter 开发中&#xff0c;构建动态和响应式的用户界面是一个核心任务。在显示视图时&#xff0c;我们经常需要…

网络空间指纹:新型网络犯罪研判的关键路径

前言 新型网络犯罪是指利用计算机技术和互联网平台进行犯罪活动的一类犯罪行为。它涵盖了一系列使用网络和数字技术进行非法活动的行为&#xff0c;如网络钓鱼、网络诈骗、恶意软件攻击、黑客入侵、数据泄露、网络色情和社交网络犯罪等。 随着当前打击治理新型网络犯罪博弈态…

【专题】数据库编程

1. MySQL编程基础 1.1 常量与变量 字符串常量&#xff1a; 字符串常量指用单引号或双引号括起来的字符序列。 示例&#xff1a;查询表emp中ename值为SCOTT的雇员信息。 SELECT * FROM emp WHERE enameSCOTT; 数值常量&#xff1a; 数值常量可以分为整数常量和小数常量。 示…