我正在使用Qt creator 3.5.1并创建一个简单的gui。
我想知道如何从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");
答案 0 :(得分:0)
初始化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);
}
}