为什么QToolButton在添加到QToolBar后无法隐藏?

时间:2012-02-18 04:46:19

标签: c++ qt user-interface qtoolbar

这有效......

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

3 个答案:

答案 0 :(得分:5)

QAction * QToolBar::addWidget ( QWidget * widget )

你应该隐藏退回的QAction

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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