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();

QToolBar に追加された後、QToolButton の後に実際に非表示にできる代替手段はありますか? 実行時に必要です。

4

3 に答える 3

6

QAction * QToolBar::addWidget ( QWidget * widget )

返された QAction を非表示にする必要があります

于 2012-02-18T17:39:19.993 に答える
1

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 に答える