nprogram’s blog

気ままに、プログラミングのトピックについて書いていきます

QtのQCombBoxの使い方 [Qt]

作成環境について

Qt Creator 4.3.1で、以下の設定で、プロジェクトを作成しております。以下の設定でクラス名、cppファイル名、hファイル名はすべてデフォルトを使用しています。

  • Qtウィジェットアプリケーション
  • 基底クラスは、QMainWindows
  • フォームを生成する

ComboBoxを設置して、実際に使ってみる

  • mainwindow.uiに、ComboBoxとPushButtonを設置
  • PushButtonを選択して、右クリックして、スロットへ移動を選択して、clicked()を選択

f:id:nprogram:20170803072412p:plain

  • mainwindow.cppにコードを記載します。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>

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


    ui->comboBox->addItem("Fox1");
    ui->comboBox->addItem("Fox2");
    ui->comboBox->addItem("Fox3");
}

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

void MainWindow::on_pushButton_clicked()
{
    QString strIndex = QString::number(ui->comboBox->currentIndex());   // This property holds the index of the current item in the combobox.
    
    QMessageBox::information(this, "title", strIndex);
}
  • 最初のComboBoxの値を選択したときに、ボタンを押したときのメッセージ表示

f:id:nprogram:20170803073154p:plain

  • 2番目のComboBoxの値を選択したときに、ボタンを押したときのメッセージ表示

f:id:nprogram:20170803073231p:plain

  • 3番目のComboBoxの値を選択したときに、ボタンを押したときのメッセージ表示

f:id:nprogram:20170803073214p:plain

以下の動画を参考に本記事を記載しました。

www.youtube.com

ComboBoxにおいて、指定した箇所にアイテムを挿入する

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>

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


    ui->comboBox->addItem("Fox1");
    ui->comboBox->addItem("Fox2");
    ui->comboBox->addItem("Fox3");

    ui->comboBox->insertItem(1, "homing missile");
}

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

void MainWindow::on_pushButton_clicked()
{
    QString strIndex = QString::number(ui->comboBox->currentIndex());   // This property holds the index of the current item in the combobox.

    QMessageBox::information(this, "title", strIndex);
}

f:id:nprogram:20170803073816p:plain