QComboBox Class

QComboBox 위젯은 버튼과 드롭다운 목록을 결합한 위젯입니다. 더 보기...

헤더: #include <QComboBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속합니다: QWidget
상속 대상:

QFontComboBox

공용 유형

enum InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically }
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
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 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는 사용자에게 옵션 목록을 표시하는 간결한 방법입니다.

콤보박스는 현재 항목을 표시하는 선택 위젯으로, 클릭하면 선택 가능한 항목의 목록을 팝업으로 표시합니다. 콤보박스는 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::DisplayRoleQt::DecorationRole 이 있는 모델의 데이터가 사용됩니다.

참고: 예를 들어 setSelectionMode()를 사용하여 view()의 SelectionMode 을 변경할 수 없습니다.

QLineEdit, QSpinBox, QRadioButton, QButtonGroup참조하세요 .

회원 유형 문서

enum QComboBox::InsertPolicy

이 열거형은 사용자가 새 문자열을 입력할 때 QComboBox 에서 수행할 작업을 지정합니다.

Constant설명
QComboBox::NoInsert0콤보 상자에 문자열이 삽입되지 않습니다.
QComboBox::InsertAtTop1문자열이 콤보 상자의 첫 번째 항목으로 삽입됩니다.
QComboBox::InsertAtCurrent2현재 항목이 문자열로 대체됩니다.
QComboBox::InsertAtBottom3콤보 상자의 마지막 항목 뒤에 문자열이 삽입됩니다.
QComboBox::InsertAfterCurrent4콤보 상자의 현재 항목 뒤에 문자열이 삽입됩니다.
QComboBox::InsertBeforeCurrent5콤보 상자의 현재 항목 앞에 문자열이 삽입됩니다.
QComboBox::InsertAlphabetically6콤보 상자에서 문자열이 알파벳 순서대로 삽입됩니다.

enum QComboBox::SizeAdjustPolicy

이 열거형은 새 콘텐츠가 추가되거나 콘텐츠가 변경될 때 QComboBox 의 크기 힌트가 조정되는 방식을 지정합니다.

Constant설명
QComboBox::AdjustToContents0콤보 상자는 항상 콘텐츠에 맞게 조정됩니다.
QComboBox::AdjustToContentsOnFirstShow1콤보박스가 처음 표시될 때 콘텐츠에 맞게 조정됩니다.
QComboBox::AdjustToMinimumContentsLengthWithIcon2콤보 상자는 minimumContentsLength + 아이콘을 위한 공간으로 조정됩니다. 성능상의 이유로 대형 모델에서는 이 정책을 사용하세요.

속성 문서

[read-only] count : const int

이 속성은 콤보 상자에 있는 항목 수를 저장합니다.

기본적으로 빈 콤보 상자의 경우 이 속성의 값은 0입니다.

함수 액세스:

int count() const

[read-only] currentData : const QVariant

이 속성은 현재 항목의 데이터를 보유합니다.

기본적으로 빈 콤보 상자 또는 현재 항목이 설정되어 있지 않은 콤보 상자의 경우 이 속성에는 잘못된 QVariant.

액세스 함수입니다:

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)

알림 신호:

void currentTextChanged(const QString &text)

editablesetEditText()도 참조하세요 .

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 으로, 새 항목이 항목 목록의 맨 아래에 표시됨을 나타냅니다.

액세스 기능:

QComboBox::InsertPolicy insertPolicy() const
void setInsertPolicy(QComboBox::InsertPolicy policy)

InsertPolicy참조하세요 .

maxCount : int

이 속성은 콤보박스에 허용되는 최대 항목 수를 보유합니다.

참고: 최대 개수를 콤보박스의 현재 항목 수보다 작게 설정하면 여분의 항목이 잘립니다. 이는 콤보박스에 외부 모델을 설정한 경우에도 적용됩니다.

기본적으로 이 속성의 값은 사용 가능한 가장 높은 부호가 있는 정수(일반적으로 2147483647)에서 파생됩니다.

함수 액세스:

int maxCount() const
void setMaxCount(int max)

maxVisibleItems : int

이 속성은 콤보 상자의 화면에서 허용되는 최대 크기를 항목 단위로 측정합니다.

기본적으로 이 속성의 값은 10입니다.

참고: Mac 스타일 또는 Gtk+ 스타일과 같이 QStyle::SH_ComboBox_Popup 에 참을 반환하는 스타일의 편집할 수 없는 콤보 상자에는 이 속성이 무시됩니다.

함수 액세스:

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)

기본 모델 QStandardItemModel 을 사용하여 주어진 parent 으로 콤보박스를 구성합니다.

[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())

지정된 icontext, 지정된 userData ( Qt::UserRole 에 저장됨)을 포함하는 항목을 콤보 상자에 추가합니다. 항목이 기존 항목 목록에 추가됩니다.

void QComboBox::addItems(const QStringList &texts)

주어진 texts 에 있는 각 문자열을 콤보 상자에 추가합니다. 각 항목은 기존 항목 목록에 차례로 추가됩니다.

[override virtual protected] void QComboBox::changeEvent(QEvent *e)

다시 구현합니다: QWidget::changeEvent(QEvent * 이벤트).

[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 * 이벤트).

[signal] void QComboBox::currentIndexChanged(int index)

이 신호는 사용자 상호작용 또는 프로그래밍 방식으로 콤보박스의 currentIndex 가 변경될 때마다 전송됩니다. 콤보 박스가 비어 있거나 currentIndex 이 재설정된 경우 항목의 index 이 전달되거나 -1이 전달됩니다.

참고: currentIndex 속성에 대한 알림 신호.

[signal] void QComboBox::currentTextChanged(const QString &text)

이 신호는 currentText 가 변경될 때마다 전송됩니다. 새 값은 text 로 전달됩니다.

참고: currentIndex 이 변경되더라도 currentText 이 동일하게 유지되면 이 신호는 발생하지 않습니다.

참고: currentText 속성에 대한 알림 신호입니다.

[signal] void QComboBox::editTextChanged(const QString &text)

이 신호는 콤보박스의 줄 편집 위젯의 텍스트가 변경될 때 발생합니다. 새 텍스트는 text 로 지정됩니다.

[override virtual] bool QComboBox::event(QEvent *event)

다시 구현합니다: QWidget::event(QEvent * 이벤트).

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 * 이벤트).

[override virtual protected] void QComboBox::focusOutEvent(QFocusEvent *e)

다시 구현합니다: QWidget::focusOutEvent(QFocusEvent * 이벤트).

[override virtual protected] void QComboBox::hideEvent(QHideEvent *e)

다시 구현합니다: QWidget::hideEvent(QHideEvent * 이벤트).

[virtual] void QComboBox::hidePopup()

콤보박스의 항목 목록이 현재 표시된 경우 숨기고 내부 상태를 재설정하므로 재구현된 showPopup() 안에 사용자 정의 팝업이 표시된 경우 사용자 정의 팝업을 숨기고 사용자 정의 팝업 위젯이 숨겨질 때마다 기본 클래스 구현을 호출하여 내부 상태를 재설정하는 hidePopup() 함수도 재구현해야 합니다.

showPopup()도 참조하세요 .

[signal] void QComboBox::highlighted(int index)

이 신호는 사용자가 콤보박스 팝업 목록의 항목을 강조 표시할 때 전송됩니다. 항목의 index 이 전달됩니다.

[virtual protected] void QComboBox::initStyleOption(QStyleOptionComboBox *option) const

QComboBox 의 값으로 option 을 초기화합니다. 이 메서드는 하위 클래스에 QStyleOptionComboBox 이 필요하지만 모든 정보를 직접 채우고 싶지 않을 때 유용합니다.

QStyleOption::initFrom()도 참조하세요 .

[override virtual protected] void QComboBox::inputMethodEvent(QInputMethodEvent *e)

다시 구현합니다: QWidget::inputMethodEvent(Q입력메소드이벤트 *이벤트).

[override virtual] QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const

재구현합니다: QWidget::inputMethodQuery(Qt::InputMethodQuery 쿼리) const.

void QComboBox::insertItem(int index, const QString &text, const QVariant &userData = QVariant())

지정된 index 의 콤보박스에 textuserData ( Qt::UserRole 에 저장됨)을 삽입합니다.

인덱스가 총 항목 수보다 크거나 같으면 새 항목이 기존 항목 목록에 추가됩니다. 인덱스가 0이거나 음수이면 새 항목이 기존 항목 목록에 앞에 추가됩니다.

insertItems()도 참조하세요 .

void QComboBox::insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

지정된 index 의 콤보박스에 icon, textuserData ( Qt::UserRole 에 저장됨)을 삽입합니다.

인덱스가 총 항목 수보다 크거나 같으면 새 항목이 기존 항목 목록에 추가됩니다. 인덱스가 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

콤보 상자의 지정된 index 에 지정된 role 데이터를 반환하거나, 이 역할에 대한 데이터가 없는 경우 잘못된 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 * 이벤트).

[override virtual protected] void QComboBox::keyReleaseEvent(QKeyEvent *e)

다시 구현합니다: QWidget::keyReleaseEvent(QKeyEvent * 이벤트).

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 * 이벤트).

[override virtual protected] void QComboBox::mouseReleaseEvent(QMouseEvent *e)

다시 구현합니다: QWidget::mouseReleaseEvent(QMouseEvent * 이벤트).

[override virtual protected] void QComboBox::paintEvent(QPaintEvent *e)

다시 구현합니다: QWidget::paintEvent(QPaintEvent * 이벤트).

void QComboBox::removeItem(int index)

콤보 상자에서 지정된 index 에 있는 항목을 제거합니다. 인덱스가 제거되면 현재 인덱스가 업데이트됩니다.

index 이 범위를 벗어나면 이 함수는 아무 작업도 수행하지 않습니다.

[override virtual protected] void QComboBox::resizeEvent(QResizeEvent *e)

다시 구현합니다: QWidget::resizeEvent(QResizeEvent * 이벤트).

QModelIndex QComboBox::rootModelIndex() const

콤보박스에 있는 항목의 루트 모델 항목 인덱스를 반환합니다.

setRootModelIndex()도 참조하세요 .

void QComboBox::setCompleter(QCompleter *completer)

현재 완성자 대신 사용할 completer 을 설정합니다. completernullptr 인 경우 자동 완성이 비활성화됩니다.

기본적으로 편집 가능한 콤보 상자의 경우 대소문자를 구분하지 않는 인라인 완성을 수행하는 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 항목을 설정합니다. 콤보박스는 델리게이트의 소유권을 갖습니다.

기존 위임자는 제거되지만 삭제되지는 않습니다. QComboBoxdelegate 의 소유권을 갖지 않습니다.

경고: 콤보박스, 위젯 매퍼 또는 보기 간에 동일한 델리게이트 인스턴스를 공유해서는 안 됩니다. 그렇게 하면 특정 델리게이트에 연결된 각 보기가 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 로 설정합니다. modelnullptr 이 아니어야 합니다. 모델의 내용을 지우려면 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 * 이벤트).

[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 * 이벤트).

© 2025 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.