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);
}
相关推荐
拉不动的猪1 天前
深入理解 JavaScript 中的静态属性、原型属性与实例属性
前端·javascript·面试
mit6.8241 天前
回溯剪枝trick
c++
linda26181 天前
链接形式与跳转逻辑总览
前端·javascript
移远通信1 天前
常见问题解答
开发语言·php
怪可爱的地球人1 天前
骨架屏
前端
用户677847150621 天前
前端将html导出为word文件
前端
初见无风1 天前
3.1 Lua代码中的元表与元方法
开发语言·lua·lua5.4
前端付豪1 天前
如何使用 Vuex 设计你的数据流
前端·javascript·vue.js
李雨泽1 天前
通过 Prisma 将结构推送到数据库
前端
前端小万1 天前
使用 AI 开发一款聊天工具
前端·全栈