Класс QColorDialog
Класс QColorDialog предоставляет виджет диалога для задания цветов. Подробнее...
| Заголовок: | #include <QColorDialog> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследуется от: | QDialog |
Типы публичного доступа
| Перечисление | ColorDialogOption { ShowAlphaChannel, NoButtons, DontUseNativeDialog } |
| Флаги | ColorDialogOptions |
Свойства
- currentColor : QColor
- options : ColorDialogOptions
Функции публичного доступа
| QColorDialog(const QColor &initial, QWidget *parent = nullptr) | |
| QColorDialog(QWidget *parent = nullptr) | |
| virtual | ~QColorDialog() |
| QColor | currentColor() const |
| void | open(QObject *receiver, const char *member) |
| QColorDialog::ColorDialogOptions | options() const |
| QColor | selectedColor() const |
| void | setCurrentColor(const QColor &color) |
| void | setOption(QColorDialog::ColorDialogOption option, bool on = true) |
| void | setOptions(QColorDialog::ColorDialogOptions options) |
| bool | testOption(QColorDialog::ColorDialogOption option) const |
Переопределённые функции публичного доступа
| virtual void | setVisible(bool visible) override |
Сигналы
| void | colorSelected(const QColor &color) |
| void | currentColorChanged(const QColor &color) |
Статические члены публичного доступа
| QColor | customColor(int index) |
| int | customCount() |
| QColor | getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions()) |
| void | setCustomColor(int index, QColor color) |
| void | setStandardColor(int index, QColor color) |
| QColor | standardColor(int index) |
Переопределённые защищённые функции
| virtual void | changeEvent(QEvent *e) override |
| virtual void | done(int result) override |
Подробное описание
Функция диалога выбора цвета предназначена для того, чтобы пользователи могли выбирать цвета. Например, вы можете использовать его в программе рисования, чтобы пользователь мог установить цвет кисти.
Статические функции предоставляют модальные диалоги выбора цвета.
Статическая функция getColor() отображает диалог и позволяет пользователю указать цвет. Эта функция также может быть использована для того, чтобы пользователи могли выбирать цвет с уровнем прозрачности: передайте опцию ShowAlphaChannel в качестве дополнительного аргумента.
Пользователь может хранить customCount() различных пользовательских цветов. Пользовательские цвета общие для всех диалогов выбора цвета и запоминаются во время выполнения программы. Используйте setCustomColor() для задания пользовательских цветов и используйте customColor() для их получения.
При нажатии на кнопку «Выбрать цвет экрана» курсор меняется на перекрестие, и сканируются цвета на экране. Пользователь может выбрать цвет, щелкнув мышью или нажав Enter. Нажатие клавиши Escape восстанавливает последний выбранный цвет перед входом в этот режим.
Пример Стандартные диалоги демонстрирует использование QColorDialog, а также других встроенных диалогов Qt.
См. также QColor, QFileDialog, QFontDialog и Пример стандартных диалогов.
Документация по типам членов
Перечисление QColorDialog::ColorDialogOptionФлаги QColorDialog::ColorDialogOptions
Это перечисление определяет различные параметры, которые влияют на внешний вид диалога выбора цвета.
| Константа | Значение | Описание |
|---|---|---|
QColorDialog::ShowAlphaChannel |
0x00000001 |
Разрешить пользователю выбрать альфа-компонент цвета. |
QColorDialog::NoButtons |
0x00000002 |
Не отображать кнопки «ОК» и «Отмена». (Полезно для «живых диалогов».) |
QColorDialog::DontUseNativeDialog |
0x00000004 |
Использовать стандартный диалог выбора цвета Qt вместо диалога выбора цвета операционной системы. |
Тип ColorDialogOptions является псевдонимом для QFlags<ColorDialogOption>. Он хранит комбинацию значений ColorDialogOption, объединённых операцией «ИЛИ».
См. также options, setOption(), testOption() и windowModality().
END_OF_DOCUMENT_MARKERДокументация свойств
currentColor : QColor
Это свойство содержит текущий выбранный цвет в диалоге.
Функции доступа:
| QColor | currentColor() const |
| void | setCurrentColor(const QColor &color) |
Сигнал уведомления:
| void | currentColorChanged(const QColor &color) |
options : ColorDialogOptions
Это свойство содержит различные параметры, влияющие на вид диалога.
По умолчанию все параметры отключены.
Параметры должны быть установлены перед отображением диалога. Установка параметров во время видимости диалога не гарантирует немедленного влияния на диалог (в зависимости от параметра и платформы).
Функции доступа:
| QColorDialog::ColorDialogOptions | options() const |
| void | setOptions(QColorDialog::ColorDialogOptions options) |
См. также setOption() и testOption().
Документация функций-членов
QColorDialog::QColorDialog(const QColor &initial, QWidget *parent = nullptr)
Создаёт диалог выбора цвета с заданным parent и указанным начальным цветом initial.
QColorDialog::QColorDialog(QWidget *parent = nullptr)
Создаёт диалог выбора цвета с заданным parent.
[signal] void QColorDialog::colorSelected(const QColor &color)
Этот сигнал испускается сразу после того, как пользователь нажал «ОК» для выбора цвета. Выбранный цвет задаётся параметром color.
См. также color и currentColorChanged().
[signal] void QColorDialog::currentColorChanged(const QColor &color)
Этот сигнал испускается всякий раз, когда текущий цвет в диалоге изменяется. Текущий цвет задаётся параметром color.
Примечание: Сигнал уведомления для свойства currentColor.
См. также color и colorSelected().
[virtual] QColorDialog::~QColorDialog()
Уничтожает диалог выбора цвета.
[override virtual protected] void QColorDialog::changeEvent(QEvent *e)
Переопределяет: QWidget::changeEvent(QEvent *event).
[static] QColor QColorDialog::customColor(int index)
Возвращает пользовательский цвет по заданному index в виде значения QColor.
См. также setCustomColor().
[static] int QColorDialog::customCount()
Возвращает количество поддерживаемых пользовательских цветов диалогом выбора цвета. Все диалоги выбора цвета используют одни и те же пользовательские цвета.
[override virtual protected] void QColorDialog::done(int result)
Переопределяет: QDialog::done(int r).
Закрывает диалог и устанавливает его код результата в result. Если этот диалог показан с помощью exec(), done() вызывает завершение локального цикла событий и exec() возвращает result.
См. также QDialog::done().
[static] QColor QColorDialog::getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())
Вызывает модальный диалог выбора цвета с заданным заголовком окна title (или «Выбрать цвет», если не задан), позволяет пользователю выбрать цвет и возвращает этот цвет. Цвет по умолчанию устанавливается в initial. Диалог является дочерним элементом parent. Возвращает недействительный (см. QColor::isValid()) цвет, если пользователь отменяет диалог.
Аргумент options позволяет настроить диалог.
void QColorDialog::open(QObject *receiver, const char *member)
Открывает диалог и подключает его сигнал colorSelected() к слоту, заданному receiver и member.
Сигнал будет отключён от слота при закрытии диалога.
QColor QColorDialog::selectedColor() const
Возвращает цвет, выбранный пользователем, нажав кнопку «ОК» или эквивалентную.
Примечание: Этот цвет не всегда совпадает с цветом, хранящимся в свойстве currentColor, так как пользователь может выбрать разные цвета перед окончательным выбором используемого.
[static] void QColorDialog::setCustomColor(int index, QColor color)
Устанавливает пользовательский цвет по index на значение QColor color.
Примечание: Эта функция не применяется к нативному диалогу выбора цвета на платформе macOS. Если эта функция всё ещё необходима, используйте параметр QColorDialog::DontUseNativeDialog.
См. также customColor().
void QColorDialog::setOption(QColorDialog::ColorDialogOption option, bool on = true)
Устанавливает заданный option в активное состояние, если on равно true; в противном случае очищает заданный option.
См. также параметры и testOption().
[static] void QColorDialog::setStandardColor(int index, QColor color)
Устанавливает стандартный цвет по index на значение QColor color.
Примечание: Эта функция не применяется к нативному диалогу выбора цвета на платформе macOS. Если эта функция всё ещё необходима, используйте параметр QColorDialog::DontUseNativeDialog.
См. также standardColor().
[override virtual] void QColorDialog::setVisible(bool visible)
Переопределяет: QDialog::setVisible(bool visible).
Изменяет видимость диалога. Если visible равно true, диалог отображается; в противном случае он скрыт.
[static, since 5.0] QColor QColorDialog::standardColor(int index)
Возвращает стандартный цвет по заданному index в виде значения QColor.
Функция была добавлена в Qt 5.0.
См. также setStandardColor().
bool QColorDialog::testOption(QColorDialog::ColorDialogOption option) const
Возвращает true, если заданный option активен; в противном случае возвращает false.
См. также параметры и setOption().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qcolordialog.html