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);
}
相关推荐
weixin_307779138 小时前
Jenkins Pipeline 完全指南:核心概念、使用详解与最佳实践
开发语言·ci/cd·自动化·jenkins·etl
kk”8 小时前
c++红黑树
开发语言·c++
Gomiko8 小时前
JavaScript DOM 原生部分(二):元素内容修改
开发语言·javascript·ecmascript
一招定胜负8 小时前
网络爬虫(第三部)
前端·javascript·爬虫
Z_W_H_8 小时前
【C#】C#中值类型和引用类型参数传递的区别
开发语言·c#
Data_agent8 小时前
实战:用Splash搞定JavaScript密集型网页渲染
开发语言·javascript·ecmascript
leiming68 小时前
C++ 02 函数模板案例
开发语言·c++·算法
weixin_421585018 小时前
PYTHON 迭代器1 - PEP-255
开发语言·python
Shaneyxs9 小时前
从 0 到 1 实现CloudBase云开发 + 低代码全栈开发活动管理小程序(13)
前端
半山烟雨半山青9 小时前
微信内容emoji表情包编辑器 + vue3 + ts + WrchatEmogi Editor
前端·javascript·vue.js