QColorDialog Class
QColorDialog 클래스는 색상을 지정하기 위한 대화 상자 위젯을 제공합니다. 더 보기...
| 헤더: | #include <QColorDialog> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 상속: | QDialog |
- 상속된 멤버를 포함한 모든 멤버 목록
- QColorDialog는 표준 대화 상자 클래스의 일부입니다.
공개 유형
| enum | ColorDialogOption { ShowAlphaChannel, NoButtons, NoEyeDropperButton, DontUseNativeDialog } |
| flags | ColorDialogOptions |
속성
- currentColor : QColor
- options : ColorDialogOptions
공개 함수
| QColorDialog(QWidget *parent = nullptr) | |
| QColorDialog(const QColor &initial, 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()를 사용하여 색상을 가져옵니다.
"화면 색상 선택(Pick Screen Color)" 버튼을 누르면 커서가 십자 모양으로 바뀌고 화면의 색상이 스캔됩니다. 사용자는 마우스 클릭이나 Enter 키를 눌러 색상을 선택할 수 있습니다. Escape 키를 누르면 이 모드로 진입하기 직전에 선택했던 마지막 색상이 복원됩니다.
'Standard Dialogs' 예제에서는 QColorDialog와 기타 내장된 Qt 대화 상자를 사용하는 방법을 보여줍니다.

QColor, QFileDialog, QFontDialog 및 ‘Standard Dialogs’ 예제를참조하십시오 .
멤버 유형 문서
enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions
이 열거형은 색상 대화 상자의 모양과 느낌에 영향을 미치는 다양한 옵션을 지정합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QColorDialog::ShowAlphaChannel | 0x00000001 | 사용자가 색상의 알파 성분을 선택할 수 있도록 합니다. |
QColorDialog::NoButtons | 0x00000002 | OK 및 Cancel 버튼을 표시하지 않습니다. (“라이브 대화 상자”에 유용합니다.) |
QColorDialog::NoEyeDropperButton | 0x00000008 | Eye Dropper 버튼을 숨깁니다. 이 값은 Qt 6.6에서 추가되었습니다. |
QColorDialog::DontUseNativeDialog | 0x00000004 | 운영 체제의 기본 색상 대화 상자 대신 Qt의 표준 색상 대화 상자를 사용합니다. |
ColorDialogOptions 유형은 QFlags<ColorDialogOption>에 대한 typedef입니다. 이 유형은 ColorDialogOption 값들의 OR 조합을 저장합니다.
options, setOption(), testOption(), windowModality()도 참조하십시오 .
속성 설명서
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()도 참조하십시오 .
멤버 함수 문서
[explicit] QColorDialog::QColorDialog(QWidget *parent = nullptr)
지정된 ` parent`을 사용하여 색상 대화 상자를 생성합니다.
[explicit] QColorDialog::QColorDialog(const QColor &initial, QWidget *parent = nullptr)
지정된 색상 이름( parent )과 색상 코드( initial )를 사용하여 색상 대화 상자를 생성합니다.
[virtual noexcept] QColorDialog::~QColorDialog()
색상 대화 상자를 닫습니다.
[override virtual protected] void QColorDialog::changeEvent(QEvent *e)
QWidget::changeEvent(QEvent *event)를 재구현합니다.
[signal] void QColorDialog::colorSelected(const QColor &color)
이 신호는 사용자가 사용할 색상을 선택하기 위해 OK 를 클릭한 직후에 발송됩니다. 선택된 색상은 color 로 지정됩니다.
'color' 및 currentColorChanged()도 참조하십시오 .
[signal] void QColorDialog::currentColorChanged(const QColor &color)
이 신호는 대화 상자에서 현재 색상이 변경될 때마다 발생합니다. 현재 색상은 color 로 지정됩니다.
참고: 속성 currentColor 에 대한알림 신호입니다.
‘color’ 및 ` colorSelected()`도 참조하십시오 .
[static] QColor QColorDialog::customColor(int index)
지정된 ` index ` 위치의 사용자 정의 색상을 ` QColor ` 값으로 반환합니다.
setCustomColor()도 참조하십시오 .
[static] int QColorDialog::customCount()
QColorDialog 에서 지원하는 사용자 정의 색상의 개수를 반환합니다. 모든 색상 대화 상자에서는 동일한 사용자 정의 색상이 사용됩니다.
[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
OK 또는 이에 상응하는 버튼을 클릭하여 사용자가 선택한 색상을 반환합니다.
참고: 사용자가 최종적으로 사용할 색상을 선택하기 전에 여러 가지 색상을 선택할 수 있으므로,이 색상이 항상 ` 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)
on 가 true인 경우, 지정된 option 을 활성화하고, 그렇지 않은 경우 지정된 option 을 해제합니다.
options 및 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] QColor QColorDialog::standardColor(int index)
지정된 index 의 표준 색상을 QColor 값으로 반환합니다.
setStandardColor()도 참조하십시오 .
bool QColorDialog::testOption(QColorDialog::ColorDialogOption option) const
지정된 option 가 활성화되어 있으면 true 를 반환하고, 그렇지 않으면 false를 반환합니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.