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

提供:MochiuWiki : SUSE, EC, PCB
2024年10月14日 (月) 11:04時点におけるWiki (トーク | 投稿記録)による版 (→‎サンプルコード)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

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