Qt在设置Visible()之前为Visible(()

  • 本文关键字:Visible Qt 设置 c++ qt
  • 更新时间 :
  • 英文 :


如果我们不知道Qt元素是否可见,是否最好在使用setVisible()函数之前检查它是否可见?

即使不重要,是否存在性能差异?

if (ui->elem->isVisible() == false)
    ui->elem->setVisible(true);

我决定检查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;
        //...
    }
}

这没关系。你可以看看Qt的来源,看看自己。

最新更新