このページでは

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

protected関数

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() で設定します。

シグナル

コンボボックスの現在の項目が変更された場合、3つのシグナルが発行されます:currentIndexChanged()、currentTextChanged()、およびactivated()です。currentIndexChanged()とcurrentTextChanged()は、変更がプログラムによって行われたかユーザーの操作によるかに関わらず常に発行されますが、activated()は、変更がユーザーの操作によって引き起こされた場合にのみ発行されます。highlighted() シグナルは、ユーザーがコンボボックスのポップアップリスト内の項目を選択したときに発火します。 これら 3 つのシグナルには、QString 引数を持つものと、int 引数を持つものの 2 つのバージョンがあります。ユーザーがピクマップを選択またはハイライトした場合、int シグナルのみが発火します。編集可能なコンボボックスのテキストが変更されるたびに、editTextChanged() シグナルが発火します。

モデル/ビュー・フレームワーク

QComboBoxは、ポップアップリストの表示および項目の保存にモデル/ビュー・フレームワークを使用します。デフォルトでは、QStandardItemModel が項目を保存し、QListView のサブクラスがポップアップリストを表示します。 モデルやビューには直接アクセスすることもできます(model() およびview() を使用)が、QComboBox には、アイテムデータの設定や取得を行う関数(例:setItemData() やitemText())も用意されています。 また、新しいモデルやビューを設定することも可能です(setModel() やsetView() を使用)。コンボボックスのラベルに表示されるテキストやアイコンについては、Qt::DisplayRole およびQt::DecorationRole を持つモデル内のデータが使用されます。

注: view() のSelectionMode は、例えばsetSelectionMode() を使用しても変更することは できません。

関連項目: QLineEdit 、QSpinBox 、QRadioButton 、およびQButtonGroup 。

メンバ型のドキュメント

enum QComboBox::InsertPolicy

この列挙型は、ユーザーが新しい文字列を入力した際に、QComboBox がどのように動作すべきかを指定します。

定数値説明
QComboBox::NoInsert0文字列はコンボボックスに挿入されません。
QComboBox::InsertAtTop1文字列は、コンボボックスの最初の項目として挿入されます。
QComboBox::InsertAtCurrent2現在の項目がこの文字列に置き換えられます。
QComboBox::InsertAtBottom3文字列は、コンボボックスの最後の項目の後に挿入されます。
QComboBox::InsertAfterCurrent4文字列は、コンボボックスの現在の項目の後に挿入されます。
QComboBox::InsertBeforeCurrent5文字列は、コンボボックスの現在の項目の前に挿入されます。
QComboBox::InsertAlphabetically6その文字列は、コンボボックス内にアルファベット順で挿入されます。

[since 6.9] enum class QComboBox::LabelDrawingMode

この列挙型は、コンボボックスがラベルをどのように描画するかを指定します。

定数値説明
QComboBox::LabelDrawingMode::UseStyle0コンボボックスは、style を使用してラベルを描画します。
QComboBox::LabelDrawingMode::UseDelegate1コンボボックスは、item delegate を使用してラベルを描画します。このモードを使用する場合は、適切なアイテムデリゲートを設定してください。

この列挙型は Qt 6.9 で導入されました。

「 labelDrawingMode 」 および「Books」の例も参照してください 。

enum QComboBox::SizeAdjustPolicy

この列挙型は、新しいコンテンツが追加されたり、コンテンツが変更されたりした場合に、QComboBox のサイズヒントをどのように調整すべきかを指定します。

定数値説明
QComboBox::AdjustToContents0コンボボックスは常に内容に合わせて調整されます
QComboBox::AdjustToContentsOnFirstShow1コンボボックスは、最初に表示された際にその内容に合わせてサイズが調整されます。
QComboBox::AdjustToMinimumContentsLengthWithIcon2コンボボックスは、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 を持つ項目をコンボボックスに追加し、その項目には指定されたuserData (Qt::UserRole に格納されている)が含まれます。この項目は、既存の項目のリストの末尾に追加されます。

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.