qt中设置QTabWidget,QGroupBox,QScrollArea的样式

news/2024/11/29 10:44:51/

引言

本文对标题中所述的三种控件的样式使用样式表来设置其外观。该样式表没有采用样式文件,而是在程序中直接使用函数setStyleSheet()来设置控件的样式。

前期准备

ui文件中各控件的结构如下图;
在这里插入图片描述
1.QGroupBox
从上面可以看到,QGroupBox属于seatWidget的子控件,所以为了防止一个窗口,或者项目中同类的QGoupBox出现样式的覆盖,这里采用唯一性的设定,也就是指明QGroupBox的从属关系,这里指的是其父窗口,也就是采用直接父类>子控件的方式,可能有点糊涂,要是没有基础的话,那么直接上代码吧。

QString strStyle += "QWidget#Seatwidget>QGroupBox{background-color:transparent;""color: rgb(255, 255, 255);font-family: Microsoft YaHei;font-size: 18px;""border:2px solid #1d58b6;border-radius:8px;}"”QWidget#Seatwidget>QGroupBox::title{subcontrol-origin: ”	             “margin;subcontrol-position: top left;""left: 10px;margin-left: 2px;padding: 0  0px;};setStyleSheet(strStyle );

上面给字符串strStyle赋值,赋值的内容是要设置的样式语句,这里只写出了一个控件的样式,若是设置多个控件的样式,可以采用QString可追加的性质,最后使用函数setStyleSheet(strStyle );来设置控件样式。字符串strStyle中指出了QGroupBox是窗口Seatwidget的子窗口,这样对QGroupBox的样式设置就只设置了Seatwidget的子控件QGroupBox,而不会改变其它的QGroupBox样式。
2.QTabWidget
直接上代码:

   QString strStyle += "QWidget#backgroundWidget>QTabWidget#tabWidget::pane{border-radius:10px;""border:2px solid #e3d0f;border-style:outset;background-color:transparent;}""QWidget#backgroundWidget>QTabWidget#tabWidget::tab-bar{alignment:left;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:first{""border-top-left-radius:10px;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:last{""border-top-right-radius:10px;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab{width:536px;""height:35px;background-color:#080F51;color:white;font-size: 18px;font-family: Microsoft YaHei;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:first:selected{""background-color:#01E4EE;font-size: 18px;font-family: Microsoft YaHei;""color: #080F51;border-top-left-radius:10px;}""QWidget#backgroundWidget>QTabWidget#tabWidget QTabBar::tab:last:selected{""background-color:#01E4EE;font-size: 18px;font-family: Microsoft YaHei;""color: #080F51;border-top-right-radius:10px;}";setStyleSheet(strStyle);

其运行的样式:
在这里插入图片描述
3.QScrollArea
也直接上代码:

QString strStyle += "QScrollArea{border:none;border-radius:10px;background-color:transparent;}""QScrollArea QScrollBar:vertical{min-width: 16px;""background-color: transparent;border-radius: 8px;}""QScrollArea QScrollBar::handle:vertical{background-color: #5FC6DD;""opacity: 0.5;border-radius: 8px;}""QScrollArea QScrollBar::handle:vertical:hover{background-color: #00FBFF;""opacity: 0.5;border-radius: 8px;}""QScrollArea QScrollBar:horizontal{min-height: 16px;""background-color: transparent;border-radius: 8px;}""QScrollArea QScrollBar::handle:horizontal{background-color: #5FC6DD;""opacity: 0.5;border-radius: 8px;}""QScrollArea QScrollBar::handle:horizontal:hover{background-color: #00FBFF;""opacity: 0.5;border-radius: 8px;}";setStyleSheet(strStyle);

其存在是为了当窗口上控件数量较多,不能一下子展示在用户面前,会自动添加水平和垂直滚动条,通过拖动滚动条来查看完整的数据,当然这个需要在属性中设置。
其运行效果:
在这里插入图片描述
本文予以记录工作中遇到的”新东西“,不是很详细。


http://www.ppmy.cn/news/249699.html

相关文章

Keil C51之Const对象声明

Keil C51中,可以使用const来对变量进行声明修饰,但自己在认识和使用上一直存在两方面的问题:1、和另一款很流行的MCU C语言开发环境IAR中的意义有一些混淆;2、和Keil C51提供的code类型作用也有一些混淆,这里来进行一下仔细区别和笔记。 一、…

数据库设计之area区域表

这个用起来还可以的比较全,是2015年更新的 在这个版本的数据上我做了个小的改动,如果你使用不方便可以参考改版后的数据:http://blog.csdn.net/u012012240/article/details/51314647 -- phpMyAdmin SQL Dump -- http://www.phpmyadmin.net -- -- 主机: localhost -- 生成日期…

iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配

最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结。 前言 在苹果 iPhoneX 、iPhone XR等设备上&…

震撼!Area-51 X58

Area-51 X58提供三种Core i7核心处理器的速度,包括2.66GHz,2.93GHz和极端速度3.2GHz。 Core i7 核心处理器目前应该是这个星球上最快的了,带给你的是更快的内存速度。 What does all this give you? An unmatched performance powerhouse with the next…

QT中的滚动条QScrollArea

QT里的滚动条操作&#xff0c; 我理解的QScrollArea对象的使用为&#xff0c;把某个widget绑定到该QScrollArea对象&#xff0c;scrol->setWidget(widget); 绑定的widget对象的长宽超过边界时&#xff0c;会有滚动条的效果。 #include <QtGui/QApplication> #include…

爬虫爬取51job

本文章的所有代码和相关文章&#xff0c; 仅用于经验技术交流分享&#xff0c;禁止将相关技术应用到不正当途径&#xff0c;滥用技术产生的风险与本人无关。 本文章是自己学习的一些记录。 开始 好久没写爬虫了 今天简单的写了个爬取多页51job的爬虫代码 思路 url‘https://…

基于51单片机的多功能智能语音循迹避障小车

目录 一.功能介绍及硬件准备 二.电机控制及调速 三.小车循迹方案 四.跟随功能实现 五.测速功能实现 六.OLED显示车速 七.摇头避障功能实现 八.SU-03T语音模块介绍 九.语音切换小车模式OLED显示模式 一.功能介绍及硬件准备 这是一款基于51单片机开发的智能小车&#xf…

vs2017.NET Core API 无法添加 Area 的问题

①首先更新VS2017为最新版&#xff0c;参考&#xff1a; https://www.jb51.net/softjc/683226.html https://jingyan.baidu.com/article/7f41ececa91098193d095cf1.html ②接下来添加路由设置&#xff1a; 添加以下代码&#xff0c;到 Startup.cs 文件的 public void Confi…