无论如何要锁定或冻结 qcombobox 以防止用户更改 qtcreator 中的索引?
Is there anyway to lock or freeze qcombobox to prevent user to change index in qtcreator?
我是 QtCreator 和 c++ 的新手。我试图阻止用户在选择一次后更改 qcombobox 索引。我试图删除所有项目,然后只添加选择的值,但它的工作方式很长。我找不到任何功能来执行此操作。有什么想法吗?
在用户与之交互时锁定 QComboBox
就用户体验而言通常不是一个好主意。
A QComboBox
与任何其他 QWidget
一样,通过使用禁用它来锁定
QWidget::setEnabled
。
这也会改变它的颜色(它是 "grayed-out"),表示用户不能再与它交互。
您可以连接到 QComboBox::currentIndexChanged
信号来实现您的目标:
connect(my_combo_box, qOverload<int>(&QComboBox::currentIndexChanged), [my_combo_box]() {
my_combo_box->setEnabled(false);
});
注意qOverload
的使用需要C++14。
我是 QtCreator 和 c++ 的新手。我试图阻止用户在选择一次后更改 qcombobox 索引。我试图删除所有项目,然后只添加选择的值,但它的工作方式很长。我找不到任何功能来执行此操作。有什么想法吗?
在用户与之交互时锁定 QComboBox
就用户体验而言通常不是一个好主意。
A QComboBox
与任何其他 QWidget
一样,通过使用禁用它来锁定
QWidget::setEnabled
。
这也会改变它的颜色(它是 "grayed-out"),表示用户不能再与它交互。
您可以连接到 QComboBox::currentIndexChanged
信号来实现您的目标:
connect(my_combo_box, qOverload<int>(&QComboBox::currentIndexChanged), [my_combo_box]() {
my_combo_box->setEnabled(false);
});
注意qOverload
的使用需要C++14。