【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog

server/2024/10/18 5:52:31/

  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt窗口 | 标准对话框 | 颜色对话框QColorDialog

文章编号:Qt 学习笔记 / 55

文章目录

  • Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
    • 一、QColorDialog介绍
      • 1. 简介
      • 2. 常用方法
    • 二、QColorDialog使用
      • 1. 使用getColor显示对话框并返回颜色
      • 2. 对话框选择颜色并修改窗口颜色


一、QColorDialog介绍

1. 简介

QColorDialog是一个对话框类,用于选择颜色。它提供了一个用户友好的界面,可以让用户从预定义的颜色列表中选择颜色,或者自定义颜色。该类是Qt框架中的一部分,可以用于创建图形化界面应用程序。

使用QColorDialog,可以方便地为应用程序添加颜色选择功能。用户可以通过点击颜色列表或使用颜色选择器直接选择颜色,还可以通过调节红、绿、蓝色调来选择颜色。

在这里插入图片描述

2. 常用方法

getColor:显示颜色选择对话框并返回用户选择的颜色。可以指定默认颜色和对话框标题。

//参数说明  参数1:设置默认颜⾊  参数2:设置父对象  参数3:设置对话框标题 
QColor color = QColorDialog::getColor(Qt::red, this, "颜色窗口标题");

setCurrentColor:设置对话框中显示的当前颜色。

QColorDialog::setCurrentColor(color);

setCustomColor:设置自定义颜色列表,可以通过该方法传递一个颜色列表给对话框。

QColorDialog::setCustomColor(0, Qt::green);

setOptions:设置对话框的选项,可以通过该方法传递一个选项标志给对话框。

QColorDialog::setOptions(QColorDialog::ShowAlphaChannel);

open:打开对话框并返回用户选择的颜色。可以将打开对话框作为模态对话框或非模态对话框。

if (QColorDialog::exec() == QDialog::Accepted) {QColor color = QColorDialog::currentColor();// 处理选择的颜色
}

二、QColorDialog使用

1. 使用getColor显示对话框并返回颜色

在界面中新建一个按钮,用于触发对话框
在这里插入图片描述

使用转到槽,生成按钮槽函数如下图
在这里插入图片描述
对槽函数进行编辑

void MainWindow::on_pushButton_clicked()
{//函数的返回值就是用户选择的颜色QColor color = QColorDialog::getColor(QColor(0,255,0),this,"窗口标题");//打印到日志中qDebug()<<color;
}

2. 对话框选择颜色并修改窗口颜色

对刚刚的槽函数进行添加,先获取到对话框中的RGB三种颜色的参数值,并通过QSS的方式设置到窗口中,代码如下(有两种方式推荐)

//方式1
void MainWindow::on_pushButton_clicked()
{//函数的返回值就是用户选择的颜色QColor color = QColorDialog::getColor(QColor(0,255,0),this,"窗口标题");//打印到日志中qDebug()<<color;QString style="background-color:rgb("+QString::number(color.red())+", "+QString::number(color.green())+", "+QString::number(color.blue())+");";this->setStyleSheet(style);
}
//方式2
void MainWindow::on_pushButton_clicked()
{//函数的返回值就是用户选择的颜色QColor color = QColorDialog::getColor(QColor(0,255,0),this,"窗口标题");//打印到日志中qDebug()<<color;char style[1024]={0};sprintf(style,"background-color:rgb(%d,%d,%d);",color.red(),color.green(),color.blue());this->setStyleSheet(style);
}

在这里插入图片描述


在这里插入图片描述


http://www.ppmy.cn/server/48636.html

相关文章

大语言模型 (LLM) 窥探未来

随着2023年的岁月渐渐走向尾声&#xff0c;我们站在人工智能的前沿&#xff0c;回望大语言模型&#xff08;Large Language Models, LLM&#xff09;所走过的道路&#xff0c;同时也不禁展望未来。从初步尝试到成为人工智能领域的万千宠爱&#xff0c;一种又一种的技术突破&…

Redis缓存的使用

1.缓存穿透 描述&#xff1a;查询数据在redis不存在&#xff0c;请求打到数据库 解决方法&#xff1a; 缓存空值 当出现Redis查不到数据&#xff0c;数据库也查不到数据的情况&#xff0c;我们就把这个key保存到Redis中&#xff0c;设置value"null"&#xff0c;并设…

用Python编写自动发送每日电子邮件报告的脚本

为了用 Python 编写自动发送每日电子邮件报告的脚本&#xff0c;你可以使用 smtplib 库来发送电子邮件&#xff0c;使用 email 库来创建电子邮件内容。此外&#xff0c;你可以使用 schedule 库来安排每天发送邮件的任务。以下是一个示例脚本以及如何设置和运行它的指导。 步骤…

各种内部排序算法的比较及应用(插入排序、交换排序、选择排序、归并排序、基数排序)

目录 内部排序 前言 1.内部排序算法的比较 1.1各种排序算法的特点、比较和适用场景 1.2排序算法的稳定性判断及改进 1.3更适合采用顺序存储的排序算法 1.4根据排序的中间过程判断所采用的排序算法 1.5各种排序算法的性质 2.内部排序算法的应用 2.1选取排序算法时需要…

R可视化:可发表的热图

当使用pheatmap包在R语言中实现不同组间的基因表达热图时,我们通常遵循以下步骤: 步骤 1: 加载所需的库首先,我们需要加载pheatmap包以及可能需要的其他包,如dplyr或tidyverse,用于数据预处理。 步骤 2: 准备数据我们需要一个基因表达矩阵,其中行代表基因,列代表样本,每…

3.Mongodb 复制集RS

MongoDB复制集是Mongodb提供的一种高可用和数据冗余的解决方案&#xff0c;复制集由多个MongoDB服务器组成&#xff0c;其中一个服务器作为主节点&#xff08;Primary&#xff09;&#xff0c;处理所有写操作&#xff0c;而其他服务器作为从节点&#xff08;Secondary&#xff…

给文件夹加密的最简单方法

安当TDE透明加密针对文件夹数据加密的保护方案主要包括以下几个方面&#xff1a; 1. 透明加密机制&#xff1a; 用户无需关心数据的加密和解密过程&#xff0c;操作文件夹时就像处理普通数据一样。加密和解密操作在后台自动进行&#xff0c;对用户和应用程序透明。 2. 高性能加…

Shell编程

Shell编程 一、简介学习shell脚本的目的shell脚本的阶段脚本执行的两种方法shell分类 二、Bash基本功能1. history &#xff08;列出当前用户的当前终端的历史命令缓存信息&#xff09;2. echo命令 &#xff08;输出结果&#xff09;2.1 -e选项支持的特殊符号列表2.2 echo 显示…