我正在用tabview开发一个应用程序。我希望tabView根据ComboBox的选择更改小部件。例:如果选择了第一个索引,我希望tabView1出现,如果选择了第二个索引,我想让tabView2出现,我已经厌倦了几个方法,如果(str == "a")布局->tabView2 1;否则布局->tabView2 2。我还尝试了connect(combobox,SIGNAL(currentTextChanged()),this,SIGNAL(swithcall(),这是我在swticahll函数中不能做太多指令的主要问题之一,因为在这种情况下,我必须将tabview识别为全局变量,这不是最好的选择。有什么建议吗?
发布于 2022-05-13 15:49:09
您可以在连接线内使用lambdas,例如:
connect(combobox,&QComboBox::currentIndexChanged,this,[tabView](int index) mutable{
// change tabView as wanted
});如果要按文本和索引进行更改(而不只是像这里这样的索引),可以使用(lambda中):
QString currText = combobox->currentText();发布于 2022-05-15 10:49:46
您只需将QComboBox的信号currentIndexChanged连接到QTabWidget的setCurrentIndex插槽(如connect(combobox, &QComboBox::cutrentIndexChanged, tabview, &QTabWidget::setCurrentIndex) ),并按照与combobox中的项目顺序相对应的所需顺序向tabview添加小部件。
https://stackoverflow.com/questions/72226616
复制相似问题