如果我们不知道Qt元素是否可见,是否最好在使用setVisible()
函数之前检查它是否可用?
即使不重要,是否有任何性能差异?
if (ui->elem->isVisible() == false)
ui->elem->setVisible(true);
答案 0 :(得分:2)
没关系。您可以查看Qt源代码,亲眼看看。
答案 1 :(得分:2)
我决定检查4.8.0来源 - 这并不难。答案似乎是首先检查几乎没有区别,但分析将是确定的唯一方法。
void QWidget::setVisible(bool visible)
{
if (visible) { // show
if (testAttribute(Qt::WA_WState_ExplicitShowHide) && !testAttribute(Qt::WA_WState_Hidden))
return;
Q_D(QWidget);
//...
} else { // hide
if (testAttribute(Qt::WA_WState_ExplicitShowHide) && testAttribute(Qt::WA_WState_Hidden))
return;
//...
}
}