QComboBox Class
QComboBox 위젯은 버튼과 드롭다운 목록을 결합한 것입니다. 더 보기...
| 헤더: | #include <QComboBox> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 상속: | QWidget |
| 상속받는 클래스: |
공개 유형
| enum | InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically } |
(since 6.9) enum class | LabelDrawingMode { UseStyle, UseDelegate } |
| enum | SizeAdjustPolicy { AdjustToContents, AdjustToContentsOnFirstShow, AdjustToMinimumContentsLengthWithIcon } |
속성
|
|
공개 함수
| QComboBox(QWidget *parent = nullptr) | |
| virtual | ~QComboBox() |
| void | addItem(const QString &text, const QVariant &userData = QVariant()) |
| void | addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant()) |
| void | addItems(const QStringList &texts) |
| QCompleter * | completer() const |
| int | count() const |
| QVariant | currentData(int role = Qt::UserRole) const |
| int | currentIndex() const |
| QString | currentText() const |
| bool | duplicatesEnabled() const |
| int | findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const |
| int | findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const |
| bool | hasFrame() const |
| virtual void | hidePopup() |
| QSize | iconSize() const |
| void | insertItem(int index, const QString &text, const QVariant &userData = QVariant()) |
| void | insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant()) |
| void | insertItems(int index, const QStringList &list) |
| QComboBox::InsertPolicy | insertPolicy() const |
| void | insertSeparator(int index) |
| bool | isEditable() const |
| QVariant | itemData(int index, int role = Qt::UserRole) const |
| QAbstractItemDelegate * | itemDelegate() const |
| QIcon | itemIcon(int index) const |
| QString | itemText(int index) const |
| QComboBox::LabelDrawingMode | labelDrawingMode() const |
| QLineEdit * | lineEdit() const |
| int | maxCount() const |
| int | maxVisibleItems() const |
| int | minimumContentsLength() const |
| QAbstractItemModel * | model() const |
| int | modelColumn() const |
| QString | placeholderText() const |
| void | removeItem(int index) |
| QModelIndex | rootModelIndex() const |
| void | setCompleter(QCompleter *completer) |
| void | setDuplicatesEnabled(bool enable) |
| void | setEditable(bool editable) |
| void | setFrame(bool) |
| void | setIconSize(const QSize &size) |
| void | setInsertPolicy(QComboBox::InsertPolicy policy) |
| void | setItemData(int index, const QVariant &value, int role = Qt::UserRole) |
| void | setItemDelegate(QAbstractItemDelegate *delegate) |
| void | setItemIcon(int index, const QIcon &icon) |
| void | setItemText(int index, const QString &text) |
| void | setLabelDrawingMode(QComboBox::LabelDrawingMode labelDrawing) |
| void | setLineEdit(QLineEdit *edit) |
| void | setMaxCount(int max) |
| void | setMaxVisibleItems(int maxItems) |
| void | setMinimumContentsLength(int characters) |
| virtual void | setModel(QAbstractItemModel *model) |
| void | setModelColumn(int visibleColumn) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setRootModelIndex(const QModelIndex &index) |
| void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
| void | setValidator(const QValidator *validator) |
| void | setView(QAbstractItemView *itemView) |
| virtual void | showPopup() |
| QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
| const QValidator * | validator() const |
| QAbstractItemView * | view() const |
재구현된 공용 함수
| virtual bool | event(QEvent *event) override |
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
공개 슬롯
| void | clear() |
| void | clearEditText() |
| void | setCurrentIndex(int index) |
| void | setCurrentText(const QString &text) |
| void | setEditText(const QString &text) |
신호
| void | activated(int index) |
| void | currentIndexChanged(int index) |
| void | currentTextChanged(const QString &text) |
| void | editTextChanged(const QString &text) |
| void | highlighted(int index) |
| void | textActivated(const QString &text) |
| void | textHighlighted(const QString &text) |
보호된 함수
| virtual void | initStyleOption(QStyleOptionComboBox *option) const |
재구현된 보호 함수
| virtual void | changeEvent(QEvent *e) override |
| virtual void | contextMenuEvent(QContextMenuEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | hideEvent(QHideEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | showEvent(QShowEvent *e) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
상세 설명
접힌 QCombobox |
펼쳐진 QCombobox |
표시 기능
QComboBox는 사용자에게 옵션 목록을 표시하는 간결한 방법입니다.
콤보박스는 현재 항목을 표시하고, 클릭하면 선택할 수 있는 항목 목록을 팝업으로 표시하는 선택 위젯입니다. insertItem() 및 setItemText() 함수가 적절하게 오버로드되어 있다면, 콤보박스에는 문자열뿐만 아니라 픽스맵도 포함될 수 있습니다.
편집 기능
콤보박스는 편집 가능하도록 설정되어 사용자가 목록의 각 항목을 수정할 수 있게 할 수 있습니다. 편집 가능한 콤보박스의 경우, clearEditText() 함수가 제공되어 콤보박스의 내용을 변경하지 않고 표시된 문자열을 지울 수 있습니다.
사용자가 편집 가능한 콤보박스에 새로운 문자열을 입력할 때, 위젯은 이를 삽입할 수도 있고 삽입하지 않을 수도 있으며, 여러 위치에 삽입할 수도 있습니다. 기본 정책은 ` InsertAtBottom `이지만, ` setInsertPolicy()`을 사용하여 이를 변경할 수 있습니다.
QValidator 을 사용하여 편집 가능한 콤보박스의 입력을 제한할 수 있습니다. 자세한 내용은 setValidator()을 참조하십시오. 기본적으로 모든 입력이 허용됩니다.
콤보박스는 삽입 함수(예: insertItem() 및 insertItems())를 사용하여 항목을 채울 수 있습니다. 항목은 setItemText()을 사용하여 변경할 수 있습니다. 항목은 removeItem()을 사용하여 제거할 수 있으며, 모든 항목은 clear()을 사용하여 제거할 수 있습니다. 현재 항목의 텍스트는 currentText()를 통해 반환되며, 번호가 매겨진 항목의 텍스트는 text()를 통해 반환됩니다. 현재 항목은 setCurrentIndex()을 사용하여 설정할 수 있습니다. 콤보박스의 항목 수는 count()를 통해 반환되며, 최대 항목 수는 setMaxCount()를 사용하여 설정할 수 있습니다. setEditable()를 사용하여 편집을 허용할 수 있습니다. 편집 가능한 콤보박스의 경우 setCompleter()를 사용하여 자동 완성 기능을 설정할 수 있으며, 사용자가 중복 항목을 추가할 수 있는지 여부는 setDuplicatesEnabled()를 사용하여 설정합니다.
신호
콤보박스의 현재 항목이 변경되면 세 가지 신호가 발생합니다: currentIndexChanged(), currentTextChanged(), activated(). currentIndexChanged()과 currentTextChanged()은 변경이 프로그래밍 방식으로 이루어졌든 사용자 상호작용에 의해 이루어졌든 상관없이 항상 발생하지만, activated()은 사용자 상호작용으로 인해 변경이 발생한 경우에만 발생합니다. highlighted() 신호는 사용자가 콤보박스 팝업 목록에서 항목을 선택했을 때 발생합니다. 이 세 가지 신호는 모두 ` QString ` 인자를 갖는 버전과 ` int ` 인자를 갖는 버전, 두 가지로 존재합니다. 사용자가 픽스맵을 선택하거나 강조 표시하면 ` int ` 신호만 발생합니다. 편집 가능한 콤보박스의 텍스트가 변경될 때마다 ` editTextChanged()` 신호가 발생합니다.
모델/뷰 프레임워크
QComboBox는 팝업 목록을 표시하고 항목을 저장하기 위해 모델/뷰 프레임워크를 사용합니다. 기본적으로 QStandardItemModel 가 항목을 저장하고, QListView 의 서브클래스가 팝업 목록을 표시합니다. 모델과 뷰에 직접 접근할 수 있지만( model() 및 view()을 사용), QComboBox는 항목 데이터를 설정하고 가져오는 함수도 제공합니다(예: setItemData() 및 itemText()). 또한 setModel() 및 setView()을 사용하여 새로운 모델과 뷰를 설정할 수도 있습니다. 콤보박스 레이블의 텍스트와 아이콘의 경우, 모델 내의 Qt::DisplayRole 및 Qt::DecorationRole 에 저장된 데이터가 사용됩니다.
참고: 예를 들어 setSelectionMode()을 사용하여 view()의 SelectionMode 을 변경할수는 없습니다.
QLineEdit, QSpinBox, QRadioButton 및 QButtonGroup도 참조하십시오 .
멤버 유형 문서
enum QComboBox::InsertPolicy
이 열거형은 사용자가 새로운 문자열을 입력했을 때 QComboBox 가 수행해야 할 동작을 지정합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QComboBox::NoInsert | 0 | 문자열이 콤보 박스에 삽입되지 않습니다. |
QComboBox::InsertAtTop | 1 | 문자열이 콤보박스의 첫 번째 항목으로 삽입됩니다. |
QComboBox::InsertAtCurrent | 2 | 현재 항목이 해당 문자열로 대체 됩니다. |
QComboBox::InsertAtBottom | 3 | 이 문자열은 콤보 박스의 마지막 항목 뒤에 삽입됩니다. |
QComboBox::InsertAfterCurrent | 4 | 문자열이 콤보박스의 현재 항목 뒤에 삽입됩니다. |
QComboBox::InsertBeforeCurrent | 5 | 문자열이 콤보박스의 현재 항목 앞에 삽입됩니다. |
QComboBox::InsertAlphabetically | 6 | 문자열이 콤보박스에 알파벳 순서대로 삽입됩니다. |
[since 6.9] enum class QComboBox::LabelDrawingMode
이 열거형은 콤보박스가 레이블을 그리는 방식을 지정합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QComboBox::LabelDrawingMode::UseStyle | 0 | 콤보박스는 ` style `를 사용하여 레이블을 그립니다. |
QComboBox::LabelDrawingMode::UseDelegate | 1 | 콤보박스는 레이블을 그릴 때 item delegate 를 사용합니다. 이 모드를 사용할 때는 적절한 항목 델리게이트를 설정해야 합니다. |
이 열거형은 Qt 6.9에서 도입되었습니다.
labelDrawingMode 및 Books 예제를참조하십시오 .
enum QComboBox::SizeAdjustPolicy
이 열거형은 새로운 콘텐츠가 추가되거나 콘텐츠가 변경될 때 ‘ QComboBox ’의 크기 힌트가 어떻게 조정되어야 하는지를 지정합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QComboBox::AdjustToContents | 0 | 콤보박스는 항상 내용에 맞게 조정됩니다. |
QComboBox::AdjustToContentsOnFirstShow | 1 | 콤보박스는 처음 표시될 때 내용에 맞게 조정됩니다. |
QComboBox::AdjustToMinimumContentsLengthWithIcon | 2 | 콤보박스는 ` minimumContentsLength `에 아이콘을 표시할 공간을 더한 크기로 조정됩니다. 성능상의 이유로 대규모 모델에서는 이 정책을 사용하십시오. |
속성 설명
[read-only] count : int
이 속성은 콤보박스에 포함된 항목의 개수를 나타냅니다.
기본적으로, 빈 콤보박스의 경우 이 속성의 값은 0입니다.
액세스 함수:
| int | count() const |
[read-only] currentData : QVariant
이 속성은 현재 항목에 대한 데이터를 보관합니다.
기본적으로, 빈 콤보 박스나 현재 항목이 설정되지 않은 콤보 박스의 경우, 이 속성에는 유효하지 않은 QVariant 값이 포함됩니다.
Access 함수:
| QVariant | currentData(int role = Qt::UserRole) const |
currentIndex : int
이 속성은 콤보박스에서 현재 항목의 인덱스를 저장합니다.
항목을 삽입하거나 제거할 때 현재 인덱스가 변경될 수 있습니다.
기본적으로, 빈 콤보박스나 현재 항목이 설정되지 않은 콤보박스의 경우 이 속성의 값은 -1입니다.
액세스 함수:
| int | currentIndex() const |
| void | setCurrentIndex(int index) |
알림 신호:
| void | currentIndexChanged(int index) |
currentText : QString
이 속성은 현재 텍스트를 저장합니다.
콤보 박스가 편집 가능한 경우, 현재 텍스트는 라인 에디트에 표시된 값입니다. 그렇지 않은 경우, 현재 항목의 값이 되며, 콤보 박스가 비어 있거나 현재 항목이 설정되어 있지 않은 경우에는 빈 문자열이 됩니다.
세터 setCurrentText()는 콤보 박스가 편집 가능한 경우 단순히 setEditText()를 호출합니다. 그렇지 않은 경우, 목록에 일치하는 텍스트가 있으면 currentIndex 가 해당 인덱스로 설정됩니다.
액세스 함수:
| QString | currentText() const |
| void | setCurrentText(const QString &text) |
Notifier 신호:
| void | currentTextChanged(const QString &text) |
editable 및 setEditText()도 참조하십시오 .
duplicatesEnabled : bool
이 속성은 사용자가 콤보박스에 중복 항목을 입력할 수 있는지 여부를 나타냅니다.
단, 프로그래밍을 통해 콤보박스에 중복 항목을 삽입하는 것은 항상 가능합니다.
기본적으로 이 속성의 값은 ' false '입니다(중복 항목 허용 안 함).
액세스 함수:
| bool | duplicatesEnabled() const |
| void | setDuplicatesEnabled(bool enable) |
editable : bool
이 속성은 사용자가 콤보 박스를 편집할 수 있는지 여부를 나타냅니다.
기본적으로 이 속성의 값은 ' false'입니다. 편집 효과는 삽입 정책에 따라 달라집니다.
참고: ' editable ' 상태를비활성화하면 유효성 검사기 및 자동 완성 기능이 제거됩니다.
액세스 함수:
| bool | isEditable() const |
| void | setEditable(bool editable) |
참조: InsertPolicy.
frame : bool
이 속성은 콤보 박스가 테두리를 포함하여 표시되는지 여부를 결정합니다.
이 속성이 활성화되어 있으면(기본값), 콤보 박스는 프레임 안에 표시되며, 그렇지 않으면 프레임 없이 표시됩니다.
액세스 함수:
| bool | hasFrame() const |
| void | setFrame(bool) |
iconSize : QSize
이 속성은 콤보박스에 표시되는 아이콘의 크기를 지정합니다.
명시적으로 설정하지 않는 한, 현재 스타일의 기본값을 반환합니다. 이 크기는 아이콘이 가질 수 있는 최대 크기이며, 이보다 작은 크기의 아이콘은 확대되지 않습니다.
액세스 함수:
| QSize | iconSize() const |
| void | setIconSize(const QSize &size) |
insertPolicy : InsertPolicy
이 속성은 사용자가 삽입한 항목이 콤보박스 내 어디에 표시될지 결정하는 데 사용되는 정책을 저장합니다.
기본값은 ` InsertAtBottom`이며, 이는 새 항목이 항목 목록의 맨 아래에 표시됨을 나타냅니다.
Access 함수:
| QComboBox::InsertPolicy | insertPolicy() const |
| void | setInsertPolicy(QComboBox::InsertPolicy policy) |
InsertPolicy도 참조하십시오 .
[since 6.9] labelDrawingMode : LabelDrawingMode
이 속성은 콤보박스가 레이블을 그릴 때 사용하는 모드를 지정합니다.
기본값은 ` UseStyle`입니다. 이 속성을 ` UseDelegate`로 변경할 때는 적절한 ` item delegate`도 함께 설정해야 합니다. 기본 델리게이트는 스타일에 따라 다르며, 라벨을 그리는 데 적합하지 않을 수 있습니다.
이 열거형은 Qt 6.9에서 도입되었습니다.
액세스 함수:
| QComboBox::LabelDrawingMode | labelDrawingMode() const |
| void | setLabelDrawingMode(QComboBox::LabelDrawingMode labelDrawing) |
‘Books’ 예제도참조하십시오 .
maxCount : int
이 속성은 콤보박스에 허용되는 최대 항목 수를 지정합니다.
참고: 최대 개수를 콤보박스의 현재 항목 수보다 적게설정하면 , 초과된 항목은 잘립니다. 이 규칙은 콤보박스에 외부 모델을 설정한 경우에도 동일하게 적용됩니다.
기본적으로 이 속성의 값은 사용 가능한 최대 부호 있는 정수(일반적으로 2147483647)에서 파생됩니다.
액세스 함수:
| int | maxCount() const |
| void | setMaxCount(int max) |
maxVisibleItems : int
이 속성은 콤보 박스의 화면 내 최대 허용 크기를 항목 수 단위로 나타냅니다.
기본적으로 이 속성의 값은 10입니다.
참고: Mac 스타일이나 Gtk+ 스타일과 같이 ` QStyle::SH_ComboBox_Popup `에 대해 `true`를 반환하는 스타일의 경우, 편집 불가능한 콤보박스에 대해서는이 속성이 무시됩니다.
액세스 함수:
| int | maxVisibleItems() const |
| void | setMaxVisibleItems(int maxItems) |
minimumContentsLength : int
이 속성은 콤보 박스에 표시되어야 하는 최소 문자 수를 지정합니다.
기본값은 0입니다.
이 속성이 양수 값으로 설정된 경우, ` minimumSizeHint()` 및 ` sizeHint()` 함수는 이 값을 고려합니다.
액세스 함수:
| int | minimumContentsLength() const |
| void | setMinimumContentsLength(int characters) |
sizeAdjustPolicy도 참조하십시오 .
modelColumn : int
이 속성은 모델에서 표시되는 열을 지정합니다.
콤보 박스에 데이터를 채우기 전에 이 속성을 설정하면 팝업 보기는 영향을 받지 않으며, 이 속성의 기본값을 사용하여 첫 번째 열이 표시됩니다.
기본적으로 이 속성의 값은 0입니다.
참고: 편집 가능한 콤보 박스의경우 , 표시되는 열이 기본 열( completion column)이 됩니다.
액세스 함수:
| int | modelColumn() const |
| void | setModelColumn(int visibleColumn) |
placeholderText : QString
유효한 인덱스가 설정되지 않았을 때 표시되는 ‘ placeholderText ’ 텍스트를 설정합니다.
placeholderText 는 유효하지 않은 인덱스가 설정되었을 때 표시됩니다. 이 텍스트는 드롭다운 목록에서 접근할 수 없습니다. 항목이 추가되기 전에 이 함수가 호출되면 자리 표시자 텍스트가 표시되며, 그렇지 않은 경우 자리 표시자 텍스트를 표시하려면 프로그래밍 방식으로 setCurrentIndex(-1)을 호출해야 합니다. 설정을 재설정하려면 빈 자리 표시자 텍스트를 설정하십시오.
QComboBox 가 편집 가능한 경우, 대신 QLineEdit::setPlaceholderText()을 사용하십시오.
액세스 함수:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
sizeAdjustPolicy : SizeAdjustPolicy
이 속성은 콘텐츠가 변경될 때 콤보박스의 크기가 어떻게 변경되는지를 설명하는 정책을 포함합니다.
기본값은 ` AdjustToContentsOnFirstShow`입니다.
액세스 함수:
| QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
| void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
SizeAdjustPolicy도 참조하십시오 .
멤버 함수 설명서
[explicit] QComboBox::QComboBox(QWidget *parent = nullptr)
지정된 parent 를 사용하여 기본 모델 QStandardItemModel 를 기반으로 콤보박스를 생성합니다.
[virtual noexcept] QComboBox::~QComboBox()
콤보박스를 삭제합니다.
[signal] void QComboBox::activated(int index)
이 신호는 사용자가 콤보박스 내에서 항목을 선택할 때 전송됩니다. 해당 항목의 ` index `가 전달됩니다. 선택 항목이 변경되지 않은 경우에도 이 신호가 전송된다는 점에 유의하십시오. 선택 항목이 실제로 변경된 시점을 파악해야 하는 경우, ` currentIndexChanged()` 또는 ` currentTextChanged()` 신호를 사용하십시오.
void QComboBox::addItem(const QString &text, const QVariant &userData = QVariant())
지정된 text 를 가진 콤보박스에, 지정된 userData ( Qt::UserRole 에 저장됨)을 포함하는 항목을 추가합니다. 이 항목은 기존 항목 목록의 끝에 추가됩니다.
void QComboBox::addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
지정된 ` icon ` 및 ` text`을 가지며, ` Qt::UserRole`에 저장된 ` userData `을 포함하는 항목을 콤보박스에 추가합니다. 이 항목은 기존 항목 목록의 끝에 추가됩니다.
void QComboBox::addItems(const QStringList &texts)
지정된 ` texts `에 포함된 각 문자열을 콤보박스에 추가합니다. 각 항목은 기존 항목 목록의 끝에 차례로 추가됩니다.
[override virtual protected] void QComboBox::changeEvent(QEvent *e)
QWidget::changeEvent(QEvent *event)를 재구현합니다.
[slot] void QComboBox::clear()
콤보박스의 내용을 모두 지웁니다.
참고: 콤보박스에 외부 모델을 설정해 둔 경우에도 이 함수를 호출하면 해당 모델은 여전히 지워집니다.
[slot] void QComboBox::clearEditText()
콤보박스에서 편집에 사용되는 라인 편집 상자의 내용을 지웁니다.
QCompleter *QComboBox::completer() const
콤보박스의 텍스트 입력을 자동 완성하는 데 사용되는 컴플리터를 반환합니다.
setCompleter() 및 editable도 참조하십시오 .
[override virtual protected] void QComboBox::contextMenuEvent(QContextMenuEvent *e)
QWidget::contextMenuEvent(QContextMenuEvent *event)을 재구현합니다.
[signal] void QComboBox::currentIndexChanged(int index)
이 신호는 콤보박스 내의 currentIndex 가 사용자 조작이나 프로그래밍을 통해 변경될 때마다 전송됩니다. 항목의 index 가 전달되며, 콤보박스가 비어 있거나 currentIndex 가 재설정된 경우에는 -1이 전달됩니다.
참고: currentIndex 속성에 대한알림 신호입니다.
[signal] void QComboBox::currentTextChanged(const QString &text)
이 신호는 currentText 가 변경될 때마다 발생합니다. 새로운 값은 text 로 전달됩니다.
참고: currentText 의 값이 동일하게 유지되는 경우, currentIndex 가 변경되더라도이 신호는 발생하지 않습니다.
참고: 속성 ` currentText`에 대한알림 신호입니다.
[signal] void QComboBox::editTextChanged(const QString &text)
이 신호는 콤보박스의 라인 편집 위젯에 있는 텍스트가 변경될 때 발생합니다. 새로운 텍스트는 ` text`로 지정됩니다.
[override virtual] bool QComboBox::event(QEvent *event)
QWidget::event(QEvent *event)를 재구현합니다.
int QComboBox::findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const
지정된 role 에 대해, 주어진 data 를 포함하는 항목의 인덱스를 반환합니다. 그렇지 않은 경우 -1을 반환합니다.
flags 는 콤보박스의 항목을 검색하는 방식을 지정합니다.
int QComboBox::findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const
지정된 text 을 포함하는 항목의 인덱스를 반환합니다. 그렇지 않은 경우 -1을 반환합니다.
flags 는 콤보박스의 항목을 검색하는 방법을 지정합니다.
[override virtual protected] void QComboBox::focusInEvent(QFocusEvent *e)
QWidget::focusInEvent(QFocusEvent *event)를 재구현합니다.
[override virtual protected] void QComboBox::focusOutEvent(QFocusEvent *e)
QWidget::focusOutEvent(QFocusEvent *event)를 재구현합니다.
[override virtual protected] void QComboBox::hideEvent(QHideEvent *e)
QWidget::hideEvent(QHideEvent *event)를 재구현합니다.
[virtual] void QComboBox::hidePopup()
현재 콤보박스가 표시되어 있는 경우 항목 목록을 숨기고 내부 상태를 초기화합니다. 따라서 재구현된 ` showPopup()` 내부에서 사용자 정의 팝업이 표시된 경우, 사용자 정의 팝업 위젯이 숨겨질 때마다 사용자 정의 팝업을 숨기기 위해 hidePopup() 함수를 재구현하고, 내부 상태를 초기화하기 위해 기저 클래스의 구현을 호출해야 합니다.
showPopup()도 참조하십시오 .
[signal] void QComboBox::highlighted(int index)
이 신호는 사용자가 콤보박스 팝업 목록의 항목을 선택했을 때 전송됩니다. 해당 항목의 ` index `가 전달됩니다.
[virtual protected] void QComboBox::initStyleOption(QStyleOptionComboBox *option) const
option 를 QComboBox 에 있는 값들로 초기화합니다. 이 메서드는 하위 클래스가 QStyleOptionComboBox 가 필요하지만, 모든 정보를 직접 입력하고 싶지 않을 때 유용합니다.
QStyleOption::initFrom()도 참조하십시오 .
[override virtual protected] void QComboBox::inputMethodEvent(QInputMethodEvent *e)
QWidget::inputMethodEvent(QInputMethodEvent *event)를 재구현합니다.
[override virtual] QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const
QWidget::inputMethodQuery(Qt::InputMethodQuery query) const를 재구현합니다.
void QComboBox::insertItem(int index, const QString &text, const QVariant &userData = QVariant())
Qt::UserRole 에 저장된 text 및 userData 를 지정된 index 의 콤보박스에 삽입합니다.
인덱스가 항목의 총 개수보다 크거나 같으면, 새 항목은 기존 항목 목록의 끝에 추가됩니다. 인덱스가 0이거나 음수이면, 새 항목은 기존 항목 목록의 맨 앞에 추가됩니다.
insertItems()도 참조하십시오 .
void QComboBox::insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
` icon`, ` text ` 및 ` userData `(` Qt::UserRole`에 저장됨)을 지정된 ` index`의 콤보박스에 삽입합니다.
인덱스가 항목의 총 개수와 같거나 그보다 크면, 새 항목은 기존 항목 목록의 끝에 추가됩니다. 인덱스가 0이거나 음수인 경우, 새 항목은 기존 항목 목록의 맨 앞에 추가됩니다.
insertItems()도 참조하십시오 .
void QComboBox::insertItems(int index, const QStringList &list)
list 에 포함된 문자열을, 지정된 index 부터 시작하여 콤보박스에 별도의 항목으로 삽입합니다.
인덱스가 항목의 총 수와 같거나 그보다 크면, 새 항목들은 기존 항목 목록의 끝에 추가됩니다. 인덱스가 0이거나 음수인 경우, 새 항목들은 기존 항목 목록의 맨 앞에 추가됩니다.
insertItem()도 참조하십시오 .
void QComboBox::insertSeparator(int index)
지정된 인덱스( index) 위치에 콤보박스에 구분자 항목을 삽입합니다.
인덱스가 항목의 총 개수보다 크거나 같으면, 새 항목은 기존 항목 목록의 끝에 추가됩니다. 인덱스가 0이거나 음수이면, 새 항목은 기존 항목 목록의 맨 앞에 추가됩니다.
insertItem()도 참조하십시오 .
QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const
지정된 role 에 대한 데이터를 지정된 index 형식으로 콤보박스에 반환하거나, 해당 역할에 대한 데이터가 없는 경우 유효하지 않은 QVariant 를 반환합니다.
setItemData()도 참조하십시오 .
QAbstractItemDelegate *QComboBox::itemDelegate() const
팝업 목록 뷰에서 사용하는 항목 델리게이트를 반환합니다.
setItemDelegate()도 참조하십시오 .
QIcon QComboBox::itemIcon(int index) const
콤보박스에서 지정된 index 에 해당하는 아이콘을 반환합니다.
setItemIcon()도 참조하십시오 .
QString QComboBox::itemText(int index) const
콤보박스에서 지정된 index 에 해당하는 텍스트를 반환합니다.
setItemText()도 참조하십시오 .
[override virtual protected] void QComboBox::keyPressEvent(QKeyEvent *e)
QWidget::keyPressEvent(QKeyEvent *event)를 재구현합니다.
[override virtual protected] void QComboBox::keyReleaseEvent(QKeyEvent *e)
QWidget::keyReleaseEvent(QKeyEvent *event)를 재구현합니다.
QLineEdit *QComboBox::lineEdit() const
콤보박스의 항목을 편집하는 데 사용되는 라인 편집기를 반환하거나, 라인 편집기가 없는 경우 ` nullptr `를 반환합니다.
편집 가능한 콤보박스에만 라인 에디트가 있습니다.
setLineEdit()도 참조하십시오 .
[override virtual] QSize QComboBox::minimumSizeHint() const
QWidget::minimumSizeHint 속성에 대한 액세스 함수를 재구현합니다.
QAbstractItemModel *QComboBox::model() const
콤보박스에서 사용하는 모델을 반환합니다.
setModel()도 참조하십시오 .
[override virtual protected] void QComboBox::mousePressEvent(QMouseEvent *e)
QWidget::mousePressEvent(QMouseEvent *event)를 재구현합니다.
[override virtual protected] void QComboBox::mouseReleaseEvent(QMouseEvent *e)
QWidget::mouseReleaseEvent(QMouseEvent *event)를 재구현합니다.
[override virtual protected] void QComboBox::paintEvent(QPaintEvent *e)
QWidget::paintEvent(QPaintEvent *event)를 재구현합니다.
void QComboBox::removeItem(int index)
지정된 ` index `의 항목을 콤보박스에서 제거합니다. 인덱스가 제거된 경우, 현재 인덱스가 업데이트됩니다.
index 가 허용 범위를 벗어난 경우 이 함수는 아무 작업도 수행하지 않습니다.
[override virtual protected] void QComboBox::resizeEvent(QResizeEvent *e)
QWidget::resizeEvent(QResizeEvent *event)를 재구현합니다.
QModelIndex QComboBox::rootModelIndex() const
콤보박스 내 항목들의 루트 모델 항목 인덱스를 반환합니다.
setRootModelIndex()도 참조하십시오 .
void QComboBox::setCompleter(QCompleter *completer)
현재 완성기 대신 사용할 자동 완성기( completer )를 설정합니다. ` completer `의 값이 ` nullptr`인 경우, 자동 완성 기능이 비활성화됩니다.
기본적으로 편집 가능한 콤보 박스의 경우, 대소문자를 구분하지 않는 인라인 자동 완성 기능을 수행하는 자동 완성 컨트롤( QCompleter )이 자동으로 생성됩니다.
참고: editable 속성이 false 로 설정되거나, 라인 편집기가 setLineEdit() 호출로 대체되면컴플리터가 제거됩니다. 편집이 불가능한 QComboBox 에 컴플리터를 설정하면 무시됩니다.
completer()도 참조하십시오 .
[slot] void QComboBox::setEditText(const QString &text)
콤보박스의 텍스트 편집란에 text 를 설정합니다.
void QComboBox::setItemData(int index, const QVariant &value, int role = Qt::UserRole)
콤보박스에서 지정된 index 에 있는 항목의 데이터 role 를 지정된 value 으로 설정합니다.
itemData()도 참조하십시오 .
void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)
팝업 목록 보기에 대한 delegate 항목을 설정합니다. 콤보박스가 델리게이트의 소유권을 가져갑니다.
기존의 델리게이트는 제거되지만 삭제되지는 않습니다. QComboBox 는 delegate 의 소유권을 인수하지 않습니다.
경고: 콤보박스, 위젯 매퍼 또는 뷰 간에 동일한 델리게이트 인스턴스를 공유해서는 안됩니다 . 이렇게 할 경우, 특정 델리게이트에 연결된 각 뷰가 closeEditor() 신호를 수신하여 이미 닫힌 편집기에 접근하거나, 수정하거나, 닫으려고 시도할 수 있으므로, 부정확하거나 직관적이지 않은 편집 동작이 발생할 수 있습니다.
itemDelegate()도 참조하십시오 .
void QComboBox::setItemIcon(int index, const QIcon &icon)
콤보박스에서 지정된 index 에 있는 항목의 icon 를 설정합니다.
itemIcon()도 참조하십시오 .
void QComboBox::setItemText(int index, const QString &text)
콤보박스에서 지정된 index 에 있는 항목의 text 을 설정합니다.
itemText()도 참조하십시오 .
void QComboBox::setLineEdit(QLineEdit *edit)
현재 라인 편집 위젯 대신 사용할 라인 edit 를 설정합니다.
콤보 박스가 라인 편집 위젯의 소유권을 가져갑니다.
참고: 콤보 박스의 라인 에디트가 ` QCompleter`를 소유하게되므로 , 이전에 ` setCompleter()`를 호출한 적은 더 이상 아무런 효과도 미치지 않습니다.
lineEdit()도 참조하십시오 .
[virtual] void QComboBox::setModel(QAbstractItemModel *model)
모델을 ‘ model ’로 설정합니다. ‘ model ’는 ‘ nullptr ’이 되어서는 안 됩니다. 모델의 내용을 지우려면 ` clear()`를 호출하십시오.
참고: 콤보박스가 편집 가능한경우 , model 는 라인 편집기의 컴플리터에도 설정됩니다.
model(), clear(), setCompleter()도 참조하십시오 .
void QComboBox::setRootModelIndex(const QModelIndex &index)
콤보박스 내 항목에 대한 루트 모델 항목 index 을 설정합니다.
rootModelIndex()도 참조하십시오 .
void QComboBox::setValidator(const QValidator *validator)
현재 유효성 검사기 대신 사용할 validator 를 설정합니다.
참고: editable 속성이 false 가 되면 유효성검사기가 제거됩니다.
validator()도 참조하십시오 .
void QComboBox::setView(QAbstractItemView *itemView)
콤보박스 팝업에서 사용할 뷰를 지정된 itemView 로 설정합니다. 콤보박스가 해당 뷰의 소유권을 가져갑니다.
참고: 편의 뷰( QListWidget, QTableWidget 또는 QTreeWidget 등)를 사용하려면, 이 함수를 호출하기 전에 편의 위젯 모델을 사용하여 콤보박스에서 setModel()을 호출해야 합니다.
view()도 참조하십시오 .
[override virtual protected] void QComboBox::showEvent(QShowEvent *e)
QWidget::showEvent(QShowEvent *event)를 재구현합니다.
[virtual] void QComboBox::showPopup()
콤보박스에 있는 항목 목록을 표시합니다. 목록이 비어 있으면 항목이 표시되지 않습니다.
사용자 정의 팝업을 표시하기 위해 이 함수를 재구현하는 경우, 내부 상태를 재설정하기 위해 hidePopup()를 호출해야 합니다.
hidePopup()도 참조하십시오 .
[override virtual] QSize QComboBox::sizeHint() const
QWidget::sizeHint 속성에 대한 액세스 함수를 재구현합니다.
이 구현은 내용이 동적으로 변경될 때 크기가 재조정되는 것을 방지하기 위해 크기 힌트를 캐시합니다. 캐시된 값을 무효화하려면 sizeAdjustPolicy 를 변경하십시오.
[signal] void QComboBox::textActivated(const QString &text)
이 신호는 사용자가 콤보박스에서 항목을 선택할 때 전송됩니다. 해당 항목의 ` text `가 전달됩니다. 선택 항목이 변경되지 않은 경우에도 이 신호가 전송된다는 점에 유의하십시오. 선택 항목이 실제로 변경된 시점을 파악해야 하는 경우, ` currentIndexChanged()` 또는 ` currentTextChanged()` 신호를 사용하십시오.
[signal] void QComboBox::textHighlighted(const QString &text)
이 신호는 사용자가 콤보박스 팝업 목록의 항목을 선택했을 때 전송됩니다. 해당 항목의 ` text `가 전달됩니다.
const QValidator *QComboBox::validator() const
콤보박스의 텍스트 입력을 제한하는 데 사용되는 유효성 검사기를 반환합니다.
setValidator() 및 editable도 참조하십시오 .
QAbstractItemView *QComboBox::view() const
콤보박스 팝업에 사용되는 목록 뷰를 반환합니다.
setView()도 참조하십시오 .
[override virtual protected] void QComboBox::wheelEvent(QWheelEvent *e)
QWidget::wheelEvent(QWheelEvent *event)를 재구현합니다.
© 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.

