作成環境について
Qt Creator 4.3.1で、以下の設定で、プロジェクトを作成しております。以下の設定でクラス名、cppファイル名、hファイル名はすべてデフォルトを使用しています。
- Qtウィジェットアプリケーション
- 基底クラスは、QMainWindows
- フォームを生成する
ComboBoxを設置して、実際に使ってみる
- mainwindow.uiに、ComboBoxとPushButtonを設置
- PushButtonを選択して、右クリックして、スロットへ移動を選択して、clicked()を選択
- 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の値を選択したときに、ボタンを押したときのメッセージ表示
- 2番目のComboBoxの値を選択したときに、ボタンを押したときのメッセージ表示
- 3番目のComboBoxの値を選択したときに、ボタンを押したときのメッセージ表示
以下の動画を参考に本記事を記載しました。
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); }