Qtのコントロール - コンボボックス

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

Qtにおいて、QComboBoxクラスを使用してコンボボックスをコントロールする手順を記載する。

サンプルコード

以下に、QComboBoxクラスを使用したサンプルコードを示す。

uiファイルにおいて、コンボボックスコントロールとボタンコントロールを配置する。
ボタンコントロールのシグナルはclicked()、スロットはOnBtnClicked()を選択する。

コンボボックスコントロールの1つ目のアイテムを選択した場合、メッセージボックスに0を表示する。
また、2つ目のアイテムの場合は1、3つ目のアイテムの場合は2を表示する。

 // 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::OnBtnClicked()
 {
    // This property holds the index of the current item in the combobox.
    QString strIndex = QString::number(ui->comboBox->currentIndex());
 
    QMessageBox::information(this, "title", strIndex);
 }


以下の例では、ComboBoxコントロールにおいて、指定した要素にアイテムを挿入している。

 // 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");
 
    ui->comboBox->insertItem(1, "homing missile");
 }
 
 MainWindow::~MainWindow()
 {
    delete ui;
 }
 
 void MainWindow::OnBtnClicked()
 {
    // This property holds the index of the current item in the combobox
    QString strIndex = QString::number(ui->comboBox->currentIndex());
 
    QMessageBox::information(this, "title", strIndex);
 }