2

这有效...

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 后实际上可以隐藏它?我需要在运行时。

4

3 回答 3

6

QAction * QToolBar::addWidget ( QWidget * widget )

您应该隐藏返回的 QAction

于 2012-02-18T17:39:19.993 回答
1

一种替代方法是添加 QAction 而不是小部件,然后隐藏 QAction。我已经尝试过了,它适用于 QAction::setVisible(false)。

你也可以做类似 QToolBar::actions().at(3)->setVisible(false); 如果您知道小部件在 QToolBar 中的位置。

于 2012-02-18T05:12:07.447 回答
0
toolbar->actions().at(0)->setVisible(false);
于 2012-02-18T05:22:46.923 回答