我正在使用QT,我已经使用一些按钮和控件完成了一个全屏应用程序。 有时当弹出错误时会显示一个对话框并保持打开状态(保持在最顶层)。
我想在应用程序界面中有一个按钮,当打开此对话框时也可以按下该按钮,但所有其他控件/按钮都不可用。
我想到的是一个透明的自定义小部件,在应用程序上有一个特殊的形式而没有覆盖“特殊”按钮,但我真的不知道它是否如此简单。
答案 0 :(得分:1)
创建一个特殊按钮并将对象名称设置为此按钮:
pushButton->setObjectName("special");
找到所有按钮:
QList<QPushButton*> allButtons = this->findChildren<QPushButton*>();
for(int i = 0; i < allButtons.size(); ++i)
{
if(allButtons.at(i)->objectName() != "special")
allButtons.at(i)->setEnable(false);
}
allButtons.clear();
现在所有非特殊按钮都被禁用,启用 - 做同样的事情。