Почему нельзя скрыть QToolButton после его добавления в QToolBar? - PullRequest
2 голосов
/ 18 февраля 2012

Это работает ...

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 ]

5 голосов
/ 18 февраля 2012

QAction * QToolBar::addWidget ( QWidget * widget )

Вы должны скрыть возвращенную QAction

1 голос
/ 18 февраля 2012

Одна альтернатива - добавить QAction вместо виджета, а затем скрыть QAction. Я пробовал, и он работает с QAction :: setVisible (false).

Вы также можете сделать что-то вроде QToolBar :: actions (). At (3) -> setVisible (false); если вы знаете положение виджета в QToolBar.

0 голосов
/ 18 февраля 2012
toolbar->actions().at(0)->setVisible(false);
...