QStyleFactor和QPalette

news2025/1/17 8:58:08

Qt中的分格都继承自QStyle,QStyle类是一个抽象基类,封装了一个GUI的外观。

QStyle常见的子类有:

  • QStyleFactory类
  • QPalette类

QStyleFactor类 

函数为:

create()创建并返回与给定匹配的QStyle对象
keys()返回有效键的列表

获取有用的keys()

    QStringList qs=QStyleFactory::keys();//存放本机可用的keys
    for(int i=0;i<qs.length();i++)
    {
        qDebug()<<qs[i];
    }

各种样式的预览 :

QComboBox的样式区别:

 使用setStyle(QStyleFactory::create(const QString &key))来设置控件样式

1.设置QApplication的样式 

#include "widget.h"

#include <QApplication>
#include<QStyleFactory>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setStyle(QStyleFactory::create("Fusion"));//设置样式
    Widget w;
    w.show();
    return a.exec();
}

2.设置QWidget的控件的样式

    QPushButton *push=new QPushButton(this);
    push->setStyle(QStyleFactory::create("Fusion"));

更多内容可以在帮助文档搜:Style and Style Aware Widgets  

 

QPalette类(调色板)

调色板的颜色组包含三种状态:

  • 活动颜色组:QPalette::Active  用于获取键盘的焦点
  • 非活动颜色组:Qpalette::Inactive 用于其他没有获取键盘焦点的窗口
  • 已禁用颜色组:QPalette::Disabled  用于一些原因而不可用的部件

 构造函数为:

 常用的函数为:

setcurrentColorGroup()设置颜色组
setColor()设置颜色
setBrush()设置画笔

主要的颜色角色:

QPalette::Window一般背景色
QPalette::WindowText一般前景色
QPalette::Base主要用作文本输入小部件的背景色,但也可用于其他绘画 - 例如组合框下拉列表和工具栏手柄的背景。它通常是白色或其他浅色。
QPalette:AlternateBase在具有交替行颜色的视图中用作备用背景色
QPalette::ToolTipBase用作QToolTip和QWhatsThis的背景色
QPalette::ToolTipText

用作QToolTip和QWhatsThis的背景色

QPalette::PlaceholderText用作各种文本输入小部件的占位符颜色
QPalette::Text使用的前景色
QPalette::Button常规按钮背景色
QPalette::ButtonText常规按钮前景色
QPalette::BrightText通常用于需要绘制对比度较差的文本
  • palette() 获取调色板
  • setPalette() 设置调色板

QPushButton的调色板:

    QPushButton *push=new QPushButton(this);
    push->setStyle(QStyleFactory::create("Fusion"));
    QPalette pa=push->palette();//获取按键的调色板
    pa.setColor(QPalette::Button,Qt::red);//把按键背景调为红色
    pa.setColor(QPalette::ButtonText,Qt::black);//把按键文本颜色设置为黑色
    push->setPalette(pa);//设置调色板

QLineEdit的调色板:(QTextEdit的调色板类似)

    QLineEdit *edit=new QLineEdit(this);
    edit->resize(200,50);
    edit->move(100,100);
    QPalette pa1=edit->palette();//获取调色板
    pa1.setColor(QPalette::Base,Qt::red);//设置背景色为红色
    pa1.setColor(QPalette::Text,Qt::blue);//设置文本颜色为蓝色
    edit->setPalette(pa1);

 QLabel的调色板

    QLabel *label =new QLabel(this);
    label->resize(200,200);
    label->move(300,300);
    label->setFrameShape(QFrame::Box);//设置边框
    label->setText("label");
    QPalette pa2=label->palette();//获取调色板
    pa2.setColor(QPalette::Window,Qt::blue);
    pa2.setColor(QPalette::WindowText,Qt::yellow);
    label->setAutoFillBackground(true);//保存小组件背景是否自动填充,label需要设置不然背景颜色不可用
    label->setPalette(pa2);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试灵活拷问:对于数据库的索引,你是怎么理解的?

文章目录一、索引的概念及作用概念作用二、索引的应用场景三、索引的相关语法1.查询索引2.创建索引3.删除索引注意四、索引背后的数据结构什么是B树B树有什么特点采用B树结构能为索引带来什么好处五、索引的分类1.唯一索引&#xff08;unique键对应的字段&#xff09;2.主键索引…

Selenium基础 — 拓展:使用浏览器加载项配置实现用户免登陆

1、什么是加载项配置 在很多情况下&#xff0c;我们在登录网站的时候&#xff0c;浏览器都会弹出一个是否保存登录账号的信息。如果我们选择保存&#xff0c;那么我们在下次登录时就不用再次输入账号&#xff0c;直接免登录了。 在我们实际的测试过程中&#xff0c;测试注册登…

系统运维利器,百万服务器运维实战总结!一文了解最新版SysAK|龙蜥技术

在刚刚结束的龙蜥峰会 eBPF & Linux 稳定性专场上&#xff0c;龙蜥系统运维 SIG Maintainer 张毅做了《SysAK 系统运维工具集》的主题演讲&#xff0c;以下为演讲实录。 大家好&#xff0c;在去年的云栖大会&#xff0c;我们在龙蜥社区开源了系统运维工具集 SysAK&#xff…

new Vue的时候到底做了什么

Vue加载流程 1.初始化的第一阶段是Vue实例也就是vm对象创建前后&#xff1a;首先Vue进行生命周期&#xff0c;事件初始化发生在beforeCreate生命周期函数前&#xff0c;然后进行数据监测和数据代理的初始化&#xff0c;也就是创建vm对象的过程&#xff0c;当vm对象创建完成就可…

【Linux】gcc的使用

文章目录一、前言二、gcc的基本使用1. 预处理2. 编译3. 汇编4. 链接三、函数库四、gcc常用选项总结一、前言 在学习本文前&#xff0c;我们先简单回顾一下源代码被转换为可执行的机器指令的每个过程&#xff1a; 预处理&#xff08;进行宏替换)编译&#xff08;生成汇编)汇编…

windows什么录屏软件好用,windows屏幕录制软件

大部分人的电脑都是windows电脑&#xff0c;所以很多人都在找适合windows系统的录屏工具&#xff0c;windows什么录屏软件好用&#xff1f;我们到底该选择哪个录屏工具呢&#xff1f;今天我们就来给大家介绍windows版本的录屏工具。 一、易我录屏助手 这个工具很多人都比较熟悉…

艾美捷人重组MEGACD40L蛋白(可溶性)实例展示

艾美捷人重组MEGACD40L蛋白&#xff08;可溶性&#xff09;是一种高活性蛋白质&#xff0c;其中两个三聚体CD40配体分子通过脂联素/ACRP30/AdipoQ的胶原结构域人工连接。这种蛋白质非常有效地模拟体内CD40L的自然膜辅助聚集。 艾美捷人重组MEGACD40L蛋白&#xff08;可溶性&…

openEuler快速入门(二)-openEuler命令行基础操作

系列文章目录 第一章 openEuler快速入门(一)-openEuler操作系统介绍 文章目录系列文章目录前言一、shell是什么二、Linux命令行操作技巧三、基础命令3.1、Linux命令分类3.2、目录和文件3.2.1 相对路径和绝对路径3.2.2 处理目录的常用命令ls&#xff1a;cd&#xff1a;pwd&…

供应N3-PEG-COOH,Azide-PEG-acid,叠氮-聚乙二醇-羧基可增加溶解度

一&#xff1a;产品描述 1、名称 英文&#xff1a;Azide-PEG-acid&#xff0c;N3-PEG-COOH 中文&#xff1a;叠氮-聚乙二醇-羧基 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Azide PEG Carboxylic acid PEG 4、分子量&#xff1a;可定制&#xff0c;1000、2000、…

搭建Redis -Sentinel架构

准备服务器 master节点&#xff1a;192.168.1.121 从节点1&#xff1a;192.168.1.122 从节点2&#xff1a;192.168.1.123 安装详细步骤 1、下载安装包 https://redis.io/download/ 2、进入工作目录 $cd /home 3、解压安装包 $tar -zxvf redis-6.2.6.tar.gz 4、建立软连接 $l…

OpenCV_06 图像平滑:图像噪声+图像平滑+滤波

文章目录1 图像噪声1.1 椒盐噪声1.2 高斯噪声1.3 瑞利噪声1.4 伽马噪声1.5 指数噪声1.6 均匀噪声2 滤波器2.1 均值滤波器2.1.1 算数平均值滤波器2.1.2 几何均值滤波器2.1.3 谐波平均滤波器2.1.4 反谐波平均滤波器2.2 统计排序滤波器2.2.1 中值滤波器2.2.2 最大值滤波器2.2.3 最…

翻开spring源码横看竖看,满屏只有四个字,看不懂啊。幸好我有大神的深度剖析spring源码,轻松看懂

前言 有一天&#xff0c;我翻开源码横看竖看&#xff0c;满屏只看到四个字&#xff0c;我看不懂啊。 所以是不是曾和我一样迷失在毫无头绪的源码里&#xff0c;在各种类和方法里翻山越岭&#xff0c;却如同管中窥豹。是的话&#xff0c;要不今晚早点睡&#xff1f; 呸&#x…

前端学习路线(二)

在前端学习路线&#xff08;一&#xff09;一章中我们讲了关于前端三剑客和jq与js的问题&#xff0c;并且简要的说明了js高级是什么&#xff0c;那在本章节我们主要从如何学习js高级开始进行讲述&#xff0c;并对es6如何学习&#xff0c;bootstrap学不学和学什么&#xff0c;并…

Tomcat部署及优化

目录 一. Tomcat的介绍 1.2 Tomcat核心组件 1.2.1 核心组件的作用 1.3 servlet简介 1.4 JSP介绍 1.5 Tomcat功能组件结构 1.6 Tomcat请求过程 二.Tomcat服务部署 2..2 安装JDK​编辑​编辑​编辑 2.3 设置JDK环境变量​编辑​编辑 2.5 优化tomcat启动速度 2.6 tom…

【JavaScript】制作一个抢红包雨页面

开发H5项目&#xff0c;有时会遇到一个需求&#xff0c;需要制作抢红包&#xff0c;或者下红包雨的网页&#xff0c;这个实现步骤&#xff0c;如果拿现成的改来做是容易的&#xff0c;但是想着全靠自己做是不容易的&#xff0c;接下来开始讲&#xff0c;想不想自己做&#xff0…

嵌入式开发学习之--点亮LED灯(下)

上篇我们主要学习的是环境搭建和实际操作&#xff0c;这篇详细记录一下整个思考的过程。 首先&#xff0c;我们需要想一个问题&#xff0c;这个灯为什么会亮&#xff1f; 物理上来说&#xff0c;LED灯属于发光二极管&#xff0c;只要有正确的电压就会发亮。也就是说&#xff…

01 DevOps 之 Git 命令使用

1. 前言 由于项目没有外网&#xff0c;需要在内网打镜像。但自己对git 还不是太熟悉。看着pipline 一脸懵逼。所有针对git 命令在工作中常用的参数及用法简单学习记录下。因为git 是DevOps中的编码的一部分&#xff0c;下面先介绍下DevOps整体的框架。 1.1 DevOps介绍 DevOp…

Linux-磁盘分区,挂载

Linux分区 Linux来说无论有几个分区&#xff0c;分给哪一个目录使用&#xff0c;它归根结底就只有一个根目录&#xff0c;一个独立且唯一的文件结构&#xff0c;Linux中每个分区都是用来组成文件系统的一部分 Linux采用了一种载入的处理方法&#xff0c;它的整个文件系统包含了…

智能运维应用之道,告别企业数字化转型危机

面临的问题及挑战 数据中心发展历程 2000 年中国数据中心始建&#xff0c;至今已经历以下 3 大阶段。早期&#xff1a;离散型数据中心 IT 因以项目建设为导向&#xff0c;故缺乏规划且无专门运维管理体系&#xff0c;此外&#xff0c;开发建设完的项目均是独立运维维护&#…

rust编程初探-猜数游戏(chapter 2)

目录 1. 创建项目 2. 猜数的输入 3. 随机数生成 3.1 rand库依赖 3.2 随机数生成 4. 猜数和随机数的比对 4.1 std::cmp::Ordering类型 4.2 match表达式&#xff08;expression&#xff09; 4.3 输入类型的转换 5. 支持多次猜测&#xff08;使用循环&#xff09; 6. 错…