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里填)。

相关推荐
csbysj202020 小时前
DOM 节点
开发语言
小尧嵌入式21 小时前
C++基础语法总结
开发语言·c++·stm32·单片机·嵌入式硬件·算法
@游子21 小时前
Python学习笔记-Day2
开发语言·python
qq_3363139321 小时前
java基础-集合进阶
java·开发语言·windows
222you21 小时前
MybatisPlus常用注解
java·开发语言·spring
你的冰西瓜21 小时前
C++20 新特性详解:相较于 C++17 的主要改进
开发语言·c++·stl·c++20
济宁雪人21 小时前
Java安全基础——JNI安全基础
java·开发语言
lsx2024061 天前
Django 视图详解
开发语言
h***06651 天前
【JSqlParser】Java使用JSqlParser解析SQL语句总结
java·开发语言·sql
代码or搬砖1 天前
Java Lambda 表达式全面详解
java·开发语言·python