从字符串列表数据中的组合框获取数据

Get Data from qcombo box in stringlist data

我正在使用 Qt Creator 3.5.1 并创建一个简单的图形用户界面。

我想知道如何从 qstringlist 中的组合框获取数据这是我的代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"





MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
     list=(QStringList()<<"Japan"<<"Korea"<<"Philippines"<<"Us");
     ui->comboBox->addItems(list);
     ui->comboBox_2->addItems(list);
     str1 = ui->comboBox->currentText();
     str2 = ui->comboBox_2->currentText();
}

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

void MainWindow::on_pushButton_clicked()
{
    integer_value = ui->lineEdit->text().toInt();
    if(str1 == "Us" && str2 == "Philippines")
    {
        answer = integer_value * 47.73;
        result = result.number(answer);
        ui->label->setText(result);

    }
}

当我使用这段代码时它有效:

不使用 QStringList:

ui->comboBox->addItem("Us");
ui->comboBox_2->addItem("Philippines");

你初始化 str1 和 str2 一次(使用 "Japan"),它们从未改变(根据你的代码)。如果你想在按下按钮时获得当前的组合框文本,你需要在 on_pushButton_clicked() 槽中检查它。类似的东西:

void MainWindow::on_pushButton_clicked()
{
    str1 = ui->comboBox->currentText();
    str2 = ui->comboBox_2->currentText();
    if(str1 == "Us" && str2 == "Philippines")
        {
            answer = integer_value * 47.73;
            result = result.number(answer);
            ui->label->setText(result);
        }
}