Archived:How to select a color using QColorDialog
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.
his code snippet demonstrates how to use the QColorDialog for colour selection.
Article Metadata
Tested with
Devices(s): Emulator
Compatibility
Platform(s): Qt
Platform Security
Signing Required: Self-Signed
Capabilities: None
Article
Keywords: QColorDialog,QColor
Created: james1980
(28 Jan 2009)
Last edited: hamishwillee
(11 Oct 2012)
Source File
#include "dialogcolor.h"
dialogcolor::dialogcolor(QWidget *parent)
: QDialog(parent)
{
button = new QPushButton("Select Color", this);
connect(button, SIGNAL(clicked()), this, SLOT(setcolor()));
colorLabel =new QLabel(this);
layout = new QVBoxLayout(this);
layout->addWidget(button);
layout->addWidget(colorLabel);
setLayout(layout);
}
dialogcolor::~dialogcolor()
{
// No need to delete any object that got a parent that is properly deleted.
}
void dialogcolor::setcolor()
{
QColor color = QColorDialog::getColor(Qt::green, this);
if (color.isValid())
{
colorLabel->setText(color.name());
colorLabel->setPalette(QPalette(color));
colorLabel->setAutoFillBackground(true);
}
}
Header File
#ifndef DIALOGCOLOR_H
#define DIALOGCOLOR_H
#include <QtGui/QDialog>
#include "ui_dialogcolor.h"
#include <QPushButton>
#include <QColorDialog>
#include <QLabel>
#include <QVBoxLayout>
class dialogcolor : public QDialog
{
Q_OBJECT
public:
dialogcolor(QWidget *parent = 0);
~dialogcolor();
private slots:
void setcolor();
private:
QPushButton *button;
QLabel *colorLabel;
QVBoxLayout *layout;
};
#endif // DIALOGCOLOR_H


15 Sep
2009