QT之设计部件背景色

一、使用QT样式表设计部件外观

样式表使用文本描写叙述,能够使用QApplication::setStyleSheet()函数将其设置到整个应用程序上。也能够使用QWidget::setStyleSheet()函数将其设置到一个指定的部件上。

1、使用代码设置样式表

假设希望对指定部件设置背景色。能够加入例如以下代码:

//设置pushButton的背景为黄色

ui->pushButton->setStyleSheet("background:yellow");

//设置horizontalSlider的背景为蓝色

ui->horizontalSlider->setStyleSheet("background:blue");

......

假设希望对相同的部件都设置相同的背景色,能够在它们的父部件上设置样式表,代码例如以下:

setStyleSheet("QPushButton{background:yellow}QSlider{background:blue}");

採用这样的方式,再往主窗体上加入的全部QPushButton和QSlider部件的背景色都会改为这里指定的颜色。

2、在QT设计师界面设置样式表

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

假设须要设置同类部件为同一指定颜色。则在主界面上右击,选则“改变样式表”。加入代码:

QPushButton{

}

注意光标留在第一个大括号后面,然后点击“加入颜色”下拉框选择颜色。这样就能够设置同样控件指定背景色了。

二、使用调色板QPalette类设计部件外观

QPalette类基本的颜色角色例如以下:

//首先要调用setAutoFillBackground(true)来设置窗口自己主动填充背景

ui->pushButton->setAutoFillBackground(true);

//获取pushbutton的调色板

QPalette p = ui->pushButton->palette();

//设置button文本颜色为红色

p.setColor(QPalette::ButtonText, Qt::red);

//设置button背景色为绿色

p.setColor(QPalette:Active, QPalette::Button, Qt::green);

//改动后的调色板

ui->pushButton->setPalette(p);

//设置lineEdit不可用

ui->lineEdit->setDisabled(true);

QPalette p2 = ui->lineEdit->palette();

//设置lineEdit不可用时背景色为蓝色

p2.setColor(QPalette::Disabled, QPalette::Base, Qt::Blue);

ui->lineEdit->setPalette(p2);

提示:

对于不同的Qt控件,当我们用QPalette设置其背景/前景颜色时,须要指定不同的颜色角色參数。

比方:对于QTextEdit,设置其背景时要使用QPalette::Base ; 对于QWidget则使用QPalette::Window 。參数不匹配时。调色板效果是不会显示的。

时间: 2024-08-03 10:00:04

QT之设计部件背景色的相关文章

Qt自定义窗口部件

QtDesigner自定义窗口部件有两种方法:改进法(promotion)和插件法(plugin) 改进法 1.改进法之前,要先写好子类化QSpinBox后的HexspinBox.h和HexspinBox.cpp文件.把这两个文件拷贝到想要的项目中. HexspinBox.h Cpp代码   #ifndef HEXSPINBOX_H #define HEXSPINBOX_H #include <QSpinBox> class QRegExpValidator; class HexSpinBox

QT之窗口部件及窗口类型

今天我们来继续学习QT的相关知识,本文的内容是介绍QT的窗口部件及窗口类型. 先说下窗口组件,图形用户界面由不同的窗口和窗口组件构成,一般是在<QtGui>中包含,对应Qt中的GUI模块:Qt以组件对象的方式构建图形用户界面:组件的类型分为两种:1.容器类(父组件),用于包含其他的界面组件.2.功能类(子组件),这个是用于实现特定的交互功能. **Qt中没有父组件的顶级组件叫做窗口!!!** 以下图为例,我们进行说明: QWidget 类继承自 QObject 类和 QPaintDevice

使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件

使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www.python.org/downloads/ 安装 PySide2:安装 python 后,在安装目录下有 /script 文件夹,里面有 pip.exe ,cmd执行:pip install PySide,pip install PySide2(注意: python2.x 对应 PySide,py

pyqt5通过qt designer 设计方式连接多个UI图形界面

当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qtdesigner.我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界面连接起来.接下来,我要提供将多个UI链接起来的思路.一:讲解:qtdesigner自动生成的代码是怎样运行的:(一)组成qtdesinger自动生成的代码为一个对象和对象启动命令,(如何将.ui文件生成.py文件查看:https://blog.csdn.net/qq_37193537/article/

Qt Designer常用部件介绍

Layouts :布局 Spacers: 空间间隔组 buttons: 按钮组 Item Views: 项目视图组 Item Widgets: 项目部件组 Containers : 容器组 Input Widget: 输入部件组 Display Widget: 显示部件组 Layouts :布局 Vertical Layout : 垂直布局 Horizcal Layout: 横向(水平)布局 Grid Layout : 网格布局 Form Layout : 表格布局 Spacers: 空间间隔组

【Qt学习笔记】窗口部件整理

关于Qt中窗口部件的学习 今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着假期的时间,好好学习.考研之后发现一个问题,无论当初你学的有多明白,总会忘记,最好的方法就是将他们记录下来,甚至写下你当时的心情,如果有一天你需要了,回过头来看看,是一笔不错的财富. 1. QDialog类对话框 1.1 模态和非模态对话框 对于对话框,有模态(modal)和非模态(modeless

Qt4.7文档翻译:Qt样式单参考,Qt Style Sheets Reference(超长,超全)

内容目录 Qt样式单参考 可进行样式设置的部件列表 属性列表 图标列表 属性类型列表 伪状态列表 子控件列表 Qt样式单参考 Qt样式单支持各种属性.伪状态和子控件,这样使得妳能够自行设计部件的外观. 可进行样式设置的部件列表 下表列出的是可使用样式单来自定义其外观的Qt 部件: 部件 如何设置样式 QAbstractScrollArea 支持盒状模型. QAbstractScrollArea的所有继承类,包括QTextEdit和QAbstractItemView(所有的条目视图(item vi

Qt学习之秒表的实现(StopWatch) (转)

秒表对于我来说并不陌生,在之前自己学习单片机时,实现过秒表和数字钟:基本思路:开启单片机带的定时器,并设置它没10ms溢出一次,分别用三个变量hour,minute,secong记录秒表的时分秒,然后每0.5s刷新一次显示函数,这样最基本的秒表的基本功能就实现了:当然,在Qt里面设计一个秒表也可以用相似的方法就行实现. 由于嵌入式实验要用Qt做个俄罗斯方块游戏,想在游戏中加个模块(游戏的时间):因此才有了设计秒表的想法.在此,想把秒表封装成类模块,提供三个接口:启动秒表,暂停秒表,复位秒表. 1

PCL+Qt+VS可视化点云

前言 Point Cloud Library (PCL)是一个功能强大的开源C++库,如果能够使用好PCL将会对我们在LiDAR数据处理领域的研究产生巨大帮助.LiDAR技术经过几十年的发展,目前国内外关于LiDAR点云数据处理的文献已很丰富,但是依然存在硬件上的发展速度大于软件的发展速度.PCL中的算法基于众多的科研人员和程序爱好者的无私贡献才有今天强大的PCL. 博文中,我将针对如何结合PCL和Qt库做一个可视化点云的程序.这部分内容在PCL官网已有几个例子并且都能够很好的使用,而且UI也是