我需要创建适用于数据库的应用程序,我需要将QCombobox与lineEdits(1,2,3)连接起来。我有QComboBox有两个项目(1,2),我想在更改为项目2时隐藏lineEdits(2,3)。当我改回项目1时,我想显示lineEdits(2,3)并隐藏lineEdit有人可以帮帮我吗? :-)谢谢
答案 0 :(得分:0)
您只需将QComboxBox的currentIndexChanged(int index)信号连接到类中的插槽,然后隐藏/显示QLineEdit,具体取决于索引的值。
QObject::connect(myComboxBox, SIGNAL(currentIndexChanged(int)),
this, SLOT(onComboxBoxCurrentIndexChanged(int)));
插槽可以按如下方式实现:
MyClass::onComboxBoxCurrentIndexChanged(int index)
{
if(index == 0){
lineEdit1->setVisible(false);
lineEdit2->setVisible(true);
lineEdit3->setVisible(true);
}
else{
lineEdit1->setVisible(true);
lineEdit2->setVisible(false);
lineEdit3->setVisible(false);
}
}
请注意,您的类必须是QObject的子类才能使插槽正常工作。如果您不知道信号和插槽的工作方式,我建议您先阅读教程。