Qt窗口控件之颜色对话框QColorDialog

颜色对话框QColorDialog

QColorDialog 是 Qt 内置的颜色对话框,它允许用户选择一个颜色,并通过接口获取颜色的值,进行进一步设置。

获取QColorDialog颜色

QColorDialog 可以使用堆创建,挂载对象树的方式。但它更适合使用它的静态函数 QColorDialog::getColor() 创建匿名对象获取颜色:

cpp 复制代码
getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())

initial 为对话框的初始默认选择颜色。

parent 挂载到 this 或其他父窗口。

title 为对话框的标题文本。


获取到用户选择的颜色后,就可以结合 styleSheet 属性进行进一步设置:

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QColorDialog>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QColor color=QColorDialog::getColor(QColor(255,0,0),this,"请选择颜色");
    char style[512]={0};
    sprintf(style,"background-color:rgb(%d,%d,%d);",color.red(),color.green(),color.blue());
    this->setStyleSheet(style);
}
相关推荐
小学生搞程序4 分钟前
学习Python的优势体现在哪些方面?
开发语言·python·学习
yezipi耶不耶5 分钟前
Rust入门之迭代器(Iterators)
开发语言·后端·rust
Yolo566Q8 分钟前
当气象水文遇见R语言——破解时空数据的“达芬奇密码“
开发语言·r语言
兰德里的折磨55013 分钟前
基于若依和elementui实现文件上传(导入Excel表)
前端·elementui·excel
李匠202415 分钟前
C++学习之工厂模式-套接字通信
c++·学习
喝拿铁写前端16 分钟前
一个列表页面,初级中级高级前端之间的鸿沟就显出来了
前端·架构·代码规范
freyazzr28 分钟前
Leedcode刷题 | Day30_贪心算法04
数据结构·c++·算法·leetcode·贪心算法
weixin_4932026330 分钟前
R语言网状Meta分析---Meta回归(1)(基于gemtc)
开发语言·回归·r语言
muxue17840 分钟前
go:实现最简单区块链
开发语言·后端·golang
Achou.Wang41 分钟前
go语言内存泄漏的常见形式
开发语言·golang