根据 qt 组合框更改参数

Changing parameters based on qt combo box

本文关键字:参数 qt 组合 根据      更新时间:2023-10-16

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

 ui->plot_type->setCurrentIndex(1);

但这并不能设置它。那么需要什么参数才能将当前索引设置为其当前值呢?同样基于当前选项,我想运行一个更改另一个参数的循环。因此,如果组合框中的当前文本是米,那么我将一个名为 axis 的变量设置为 0,如果它以毫秒为单位,那么我将变量设置为 1

组合框代码

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

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

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

如果枚举具有类作用域,则可以使用"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);