为什么QToolButton添加到QToolBar后不能隐藏

Why cant a QToolButton be hidden after it is added to a QToolBar?

本文关键字:不能 隐藏 QToolBar QToolButton 添加 为什么      更新时间:2023-10-16

这很有效。。。

QToolButton * toolbutton = new QToolButton(this);
//hide before addWidget
toolbutton->hide();
addWidget(toolbutton);

但这不是

QToolButton * toolbutton = new QToolButton(this)
addWidget(toolbutton);
//hide after addWidget
toolbutton->hide();

有没有一个替代方案可以让我在QToolButton添加到QToolBar后隐藏它?我需要在运行时这样做。

QAction * QToolBar::addWidget ( QWidget * widget )

您应该隐藏返回的QAction

一种选择是添加一个QAction而不是小部件,然后隐藏该QAction。我试过了,它与QAction::setVisible(false)配合使用。

您还可以执行类似QToolBar::actions().at(3)->setVisible(false)的操作;如果您知道小部件在QToolBar中的位置。

toolbar->actions().at(0)->setVisible(false);