如何从QMainWindow中删除栏

xpg*_*g94 5 qt toolbar statusbar

我正在尝试删除此栏,但我无法摆脱它(它位于工具栏下方):

在此输入图像描述

该栏的名称是什么,我该如何访问它?谢谢.

Rob*_*ieE 7

您调用的toolbar实际上是菜单栏,您调用的other bar实际上是一个emtpy工具栏.

您有一个空工具栏的最可能原因是因为您使用QtDesigner创建了窗口.如果选择a QMainWindow作为起点,它会自动向窗口添加空的菜单栏和空工具栏.如果您不想要工具栏,请在右侧的"对象检查器"中找到它,右键单击并选择Remove Toolbar 'mainToolbar'(或默认的其他名称).


vah*_*cho 4

如果您添加了该工具栏,您可能有一个指向它的指针?如果是,您只需拨打:

removeToolBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

在你的QMainWindow班级里。否则,您可以从主窗口中删除所有工具栏,如下所示:

QList<QToolBar *> allToolBars = mainWindow->findChildren<QToolBar *>();
foreach(QToolBar *tb, allToolBars) {
    // This does not delete the tool bar.
    mainWindow->removeToolBar(tb);
}
Run Code Online (Sandbox Code Playgroud)