【QtのCombBoxの使い方】簡単なプログラムでコンボボックスを実際に使ってみる

C++

【対象の方】
・Qtのコンボボックスを使ってみたい
・言語はC++

コンボボックスを実際に使ってみる

初めてコンボボックスを使う方のために手順をまとめています。

開発環境

・OS : Windows10 64bit
・Qt Creator 4.14.2/Based on Qt 5.15.2 (MSVC 2019, 64 bit)

プロジェクトの作成

『ファイル/プロジェクトの新規作成』もしくはプロジェクトの『+New』を選択し、プロジェクトの『Application(Qt)』→『Qt Widgets Application』→『選択…』と進みます。以後はデフォルトで次に進みます。

プロジェクトエクスプローラーから『mainwindow.ui』を開いてください。

以下の要素を1個ずつドラッグアンドドロップして配置します(名前は変更しません)
・Push Button(Buttons)
・Label(Display Widgets)
・Combo Box(Input Widgets)

Push Buttonを選択した状態で「右クリック→スロットへ移動…」を選択してください

『released()』を選択して『OK』を選択してください

以下のソースコードを『mainwindow.cpp』にコピペしてください

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>          //ヘッダーファイルを追加

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //comboBoxの要素を追加
    ui->comboBox->addItem("COMB1");     //currentIndex = 0
    ui->comboBox->addItem("COMB2");     //currentIndex = 1
    ui->comboBox->addItem("COMB3");     //currentIndex = 2
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_released()
{
    QString combo_index;    //combo_indexを定義
    combo_index = QString::number(ui->comboBox->currentIndex());  //intをQStringに変換

    ui->label->setText(combo_index);    //引数はQStringで渡す必要がある
}

ビルドおよび動作確認

『実行』を選択してください。

『Save All』を選択してください。

Push Buttonを押すとCombo Boxの状態によってText Labelに表示される数字が変化します(Combo BOXに割り当てられている『currentIndex』を表示しています)