QT:颜色选择器

普通

Qt提供了一个现成的QColorDialog类。

用法:

cpp 复制代码
#include <QColorDialog>

QColor color = QColorDialog::getColor(Qt::white, this);
if(!color.isValid()){
     //点击 关闭 或 cancel 颜色无效
}else {
     ui->text->setText(color.name());//类似##ffff
     QRgb rgb = color.rgb();
     qDebug() << "rgb== " <<  qRed(rgb) << qGreen(rgb) << qBlue(rgb);
}

**缺点:**不能直接显示颜色

进阶

用toolbutton来显示被选择的颜色

实现方法:

其实就是点击上面的button后,新建一个布局,往里遍历生成6*8个QToolButton,每个赋值一个颜色。点击后跟换上面的button的Icon(用Qpainter在QPixmap里画矩形,QRect这是绘制矩形框,根据需求设置不同的绘制方式,最后用 painter.drawPixmap往QRect里填)。

相关推荐
Tairitsu_H17 小时前
[C++] C++11右值引用与移动语义揭秘
开发语言·c++·c++11·右值引用·移动语义
麻辣布丁17 小时前
java集合篇面试模拟
java·开发语言·面试
niucloud-admin17 小时前
JAVA V6 多商户商城 开发文档——插件开发规范
java·开发语言
海盗123418 小时前
DSH 接入 OpenCode Go 报 400 MissingSessionID:从 LLM 语义层退到 fetch 传输层的完整排障
开发语言·后端·golang
weixin1997010801618 小时前
《Mercari OTA 直连接入:日本二手电商出海的API通道与600次/分钟限流实战》(附Python源码)
开发语言·数据库·python
库玛西18 小时前
深度解构高并发利器:纯事件驱动 Reactor 模式的设计哲学与工程实践
服务器·开发语言·c++·笔记·tcp/ip
lemon_sjdk18 小时前
JavaScript 常用关键字全解析
开发语言·javascript·ecmascript
linx29518 小时前
单元五 · 对称认知·下:编译与链接
linux·c语言·开发语言·c++·嵌入式硬件
2501_9304724418 小时前
从物理机到 CVM 全流程落地:部署脚本的 8 个云化改造点(附代码对比)
开发语言·人工智能·架构·腾讯云·perl
脉动数据行情118 小时前
Java SpringBoot 国际期货批量采集实践 美原油 / 黄金 / 指数期货定时落库
java·开发语言·spring boot