Qt:标准颜色对话框类QColorDialog选择某种颜色

雨点打透心脏的1/2处 2023-01-12 11:41 271阅读 0赞

1、新建”QT GUI”,基类选择”QDialog’,取消“创建界面”

2、dialog.cpp中:

  1. #ifndef DIALOG_H
  2. #define DIALOG_H
  3. #include <QDialog>
  4. #include <QPushButton>
  5. #include <QFrame>
  6. #include <QGridLayout>
  7. class Dialog : public QDialog
  8. {
  9. Q_OBJECT
  10. public:
  11. Dialog(QWidget *parent = 0);
  12. ~Dialog();
  13. private: //私有变量声明
  14. QPushButton *colorBtn;
  15. QFrame *colorFrame;
  16. QGridLayout *mainLayout;
  17. private slots:
  18. void showColor();
  19. };
  20. #endif // DIALOG_H

3、dialog.cpp中

  1. #include "dialog.h"
  2. #include <QGridLayout>
  3. #include <QColorDialog>
  4. Dialog::Dialog(QWidget *parent)
  5. : QDialog(parent)
  6. {
  7. colorBtn = new QPushButton;
  8. //控件初始化
  9. colorBtn->setText(tr("颜色标准对话框"));
  10. colorFrame = new QFrame;
  11. colorFrame->setFrameShape(QFrame::Box);
  12. colorFrame->setAutoFillBackground(true);
  13. //布局管理
  14. mainLayout = new QGridLayout(this);
  15. mainLayout->addWidget(colorBtn, 1, 0);
  16. mainLayout->addWidget(colorFrame, 1, 1);
  17. //
  18. connect(colorBtn, SIGNAL(clicked()), this, SLOT(showColor()));
  19. }
  20. Dialog::~Dialog()
  21. {
  22. }
  23. void Dialog::showColor()
  24. {
  25. QColor c = QColorDialog::getColor(Qt::blue);
  26. if(c.isValid()){
  27. colorFrame->setPalette(QPalette(c));
  28. }
  29. }

4、效果

效果图

5、

QColor color = QColorDialog::getColor
(const QColor&initial = Qt::white,
QWidget * parent = 0);

第一个参数:对话框打开时默认选择的颜色(QColor类型)
第二个参数:它的parent

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Qt颜色对话框的使用

    Qt颜色对话框的使用 在Qt编程中,QColorDialog是一个常用的组件,它提供了一个颜色对话框,用户可以通过该对话框选择所需的颜色。接下来我们将介绍如何在Qt程序中使用

    相关 Qt 标准对话框

    1.对话框种类 为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框