最后找到答案最好的办法是让像void showNewInfo(QString action);
无效的方法在类的cpp文件
void MainWind::showNewInfo(QString action)
{
if(action == "true")
{
bt_search->setEnabled(false);
bt_production->setEnabled(false);
bt_drying->setEnabled(false);
bt_storage->setEnabled(false);
ln_spent->show();
cb_thickness1->show();
cb_thickness2->show();
cb_thickness3->show();
cb_EFL1->show();
cb_EFL2->show();
bt_newItem->show();
}
else if(action == "false")
{
bt_search->setEnabled(true);
bt_production->setEnabled(true);
bt_drying->setEnabled(true);
bt_storage->setEnabled(true);
ln_spent->hide();
cb_thickness1->hide();
cb_thickness2->hide();
cb_thickness3->hide();
cb_EFL1->hide();
cb_EFL2->hide();
bt_newItem->hide();
}
}
也有可能使用的setText(“”),那么下一次展示片段,它将会清楚;
显示您尝试过的代码。 – eyllanesc
向Qestien添加了代码。 –
请注意,在while循环中调用'layout-> removeItem(item);'什么也不做,因为'item'传递已经被调用['QLayout :: takeAt'](http:// doc.qt.io/qt-5/qlayout.html#takeAt)。 –