这是Color Dialog
Qt5
框
是否可以单独查看基本颜色并从对话框中删除颜色渐变?
答案 0 :(得分:1)
我找到了这个问题的简单解决方案。它不是删除,但使用我的代码,我们无法看到此渐变,也无法使用它。
我们需要创建子类。我们的代码:
mycolordialog.h
#ifndef MYCOLORDIALOG_H
#define MYCOLORDIALOG_H
#include <QColorDialog>
#include <QLabel>
class MyColorDialog : public QColorDialog
{
Q_OBJECT
public:
explicit MyColorDialog(QWidget *parent = 0);
signals:
public slots:
};
#endif // MYCOLORDIALOG_H
mycolordialog.cpp
#include "mycolordialog.h"
MyColorDialog::MyColorDialog(QWidget *parent) :
QColorDialog(parent)
{
QLabel * l = new QLabel("Teeeeext",this);
l->setGeometry(245,5,325,215);//this values control the area and position of label
//you can change this values and remove another area of main dialog window
QPixmap pixmap("G:/2/qt.jpg");
l->setPixmap(pixmap.scaled(325,215,Qt::IgnoreAspectRatio));;//resize our picture
l->show();
}
如何使用???
#include "mycolordialog.h"
//...
void MainWindow::on_pushButton_16_clicked()
{
MyColorDialog cd;
cd.exec();
qDebug() << cd.selectedColor();
}
您可以在应用中设置标签漂亮的徽标,或其他内容。我在这里使用徽标http://reichertbrothers.com/images/qt-logo.png,但我将其转换为jpg格式。
我们得到了什么?
请注意,所有其他区域都可用,您可以根据需要选择任何颜色和工作,但此梯度窗口将被移除!!
我希望它有所帮助。
答案 1 :(得分:0)
您可以选择修改颜色对话框外观的选项位于QColorDialog文档中。
enum ColorDialogOption {
ShowAlphaChannel = 0x00000001,
NoButtons = 0x00000002,
DontUseNativeDialog = 0x00000004
};
此选项不会隐藏颜色选择器,因此您必须实现自定义颜色选择器。