根据qt组合框更改参数

时间:2015-01-20 11:27:47

标签: c++ qt combobox

我在qt中有一个名为x_axis_unit的组合框,有两个选项;米和ms。当我更改选项时,组合框没有注意到更改并且在我退出gui后将选项更改为ms后仍然卡在米上。我输入了

 ui->plot_type->setCurrentIndex(1);

但是没有设置它。那么需要什么参数来将当前指数设置为其当前值?同样基于当前选项,我想运行一个更改另一个参数的循环。因此,如果组合框中的当前文本是米,那么我将一个名为axis的变量设置为0,如果它是以ms为单位,那么我将变量设置为1

//组合框代码

ui->setupUi(this);
ui->x_axis_unit->addItem("metres");
ui->x_axis_unit->addItem("ms");

那么如何将组合框设置为ms,它总是在米上。

1 个答案:

答案 0 :(得分:0)

您可以使用枚举来存储组合框的索引。

如果枚举具有类范围,则可以使用“comboBox.setCurrentIndex(enum entry)”更改类中任何函数的组合框,如下所示:

enum comboBoxSelection
{
    eMetres = 0,
    eMS
};

x_axis_unit = new QComboBox(parent);

x_axis_unit->insertItem(eMetres, "Metres");
x_axis_unit->insertItem(eMS, "ms");

x_axis_unit->setCurrentIndex(eMS);