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);
}
相关推荐
come1123413 分钟前
Claude 写 PHP 项目的完整小白教程
开发语言·php
虾球xz17 分钟前
CppCon 2015 学习:Concurrency TS Editor’s Report
开发语言·c++·学习
潇-xiao19 分钟前
Qt 按钮类控件(Push Button 与 Radio Button)(1)
c++·qt
板鸭〈小号〉23 分钟前
命名管道实现本地通信
开发语言·c++
玲小珑26 分钟前
Auto.js 入门指南(六)多线程与异步操作
android·前端
白瓷梅子汤29 分钟前
跟着官方示例学习 @tanStack-table --- Header Groups
前端·react.js
喝牛奶的小蜜蜂33 分钟前
个人小程序:不懂后台,如何做数据交互
前端·微信小程序·小程序·云开发
front_explorers38 分钟前
Umi项目必看,从Webpack到Rspack,KMI引领性能革命🚀
前端
旺仔牛仔QQ糖39 分钟前
都写那么多项目了, 傻傻分不清楚NODE_ENV 和 模式(Mode) 两者区别是什么
前端·面试
xcLeigh44 分钟前
HTML5实现简洁的体育赛事网站源码
前端·html