QMainWindow 类

QMainWindow 类提供主应用程序窗口。 更多信息...

头文件 #include <QMainWindow>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QWidget

公共类型

枚举DockOption { AnimatedDocks, AllowNestedDocks, AllowTabbedDocks, ForceTabbedDocks, VerticalTabs, GroupedDragging }
标志DockOptions

属性

公共函数

QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual~QMainWindow()
voidaddDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)
voidaddDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)
voidaddToolBar(Qt::ToolBarArea area, QToolBar *toolbar)
voidaddToolBar(QToolBar *toolbar)
QToolBar *addToolBar(const QString &title)
voidaddToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea)
QWidget *centralWidget() const
Qt::DockWidgetAreacorner(Qt::Corner corner) const
virtual QMenu *createPopupMenu()
QMainWindow::DockOptionsdockOptions() const
Qt::DockWidgetAreadockWidgetArea(QDockWidget *dockwidget) const
booldocumentMode() const
QSizeiconSize() const
voidinsertToolBar(QToolBar *before, QToolBar *toolbar)
voidinsertToolBarBreak(QToolBar *before)
boolisAnimated() const
boolisDockNestingEnabled() const
QMenuBar *menuBar() const
QWidget *menuWidget() const
voidremoveDockWidget(QDockWidget *dockwidget)
voidremoveToolBar(QToolBar *toolbar)
voidremoveToolBarBreak(QToolBar *before)
voidresizeDocks(const QListdocks, const QListsizes, Qt::Orientation orientation)
boolrestoreDockWidget(QDockWidget *dockwidget)
boolrestoreState(const QByteArray &state, int version = 0)
QByteArraysaveState(int version = 0) const
voidsetCentralWidget(QWidget *widget)
voidsetCorner(Qt::Corner corner, Qt::DockWidgetArea area)
voidsetDockOptions(QMainWindow::DockOptions options)
voidsetDocumentMode(bool enabled)
voidsetIconSize(const QSize &iconSize)
voidsetMenuBar(QMenuBar *menuBar)
voidsetMenuWidget(QWidget *menuBar)
voidsetStatusBar(QStatusBar *statusbar)
voidsetTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)
voidsetTabShape(QTabWidget::TabShape tabShape)
voidsetToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)
voidsplitDockWidget(QDockWidget *first, QDockWidget *second, Qt::Orientation orientation)
QStatusBar *statusBar() const
QTabWidget::TabPositiontabPosition(Qt::DockWidgetArea area) const
QTabWidget::TabShapetabShape() const
QListtabifiedDockWidgets(QDockWidget *dockwidget) const
voidtabifyDockWidget(QDockWidget *first, QDockWidget *second)
QWidget *takeCentralWidget()
Qt::ToolBarAreatoolBarArea(const QToolBar *toolbar) const
booltoolBarBreak(QToolBar *toolbar) const
Qt::ToolButtonStyletoolButtonStyle() const
boolunifiedTitleAndToolBarOnMac() const

Public 库(类)

voidsetAnimated(bool enabled)
voidsetDockNestingEnabled(bool enabled)
voidsetUnifiedTitleAndToolBarOnMac(bool set)

Signals

voidiconSizeChanged(const QSize &iconSize)
voidtabifiedDockWidgetActivated(QDockWidget *dockWidget)
voidtoolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

重写受保护函数

virtual voidcontextMenuEvent(QContextMenuEvent *event) override
virtual boolevent(QEvent *event) override

详细描述

Qt 主窗口框架

主窗口为构建应用程序的用户界面提供一个框架。Qt提供了QMainWindow及其相关的类来管理主窗口。QMainWindow拥有自己的布局,可以向其中添加QToolBarQDockWidgetQMenuBarQStatusBar。布局有一个中心区域,任何类型的控件都可以占据这个区域。下面是布局的图像。

创建主窗口组件

中心控件通常是一个标准的Qt控件,例如QTextEditQGraphicsView。对于高级应用程序,也可以使用自定义控件。您可以使用setCentralWidget()设置中心控件。

主窗口具有单一(SDI)或多重(MDI)文档界面。在Qt中,通过使用QMdiArea作为中心控件来创建MDI应用程序。

现在,我们将检查可以添加到主窗口的其他控件,并给出创建和添加它们的示例。

创建菜单

Qt使用QMenu实现菜单,QMainWindow将它们保存在QMenuBar中。QAction被添加到菜单中,作为菜单项显示。

您可以通过调用menuBar()将新的菜单添加到主窗口的菜单栏,它返回窗口的QMenuBar,然后使用QMenuBar::addMenu()添加菜单。

QMainWindow带有一个默认的菜单栏,但您也可以使用setMenuBar()自己设置。如果您想实现一个自定义菜单栏(即不使用QMenuBar控件),可以使用setMenuWidget()设置它。

以下是如何创建菜单的示例

    void MainWindow::createMenus()
    {
        fileMenu = menuBar()->addMenu(tr("&File"));
        fileMenu->addAction(newAct);
        fileMenu->addAction(openAct);
        fileMenu->addAction(saveAct);

当主窗口接收到上下文菜单事件时,createPopupMenu()函数会创建弹出菜单。默认实现生成一个检查可执行动作的菜单,来自停靠窗口和工具栏。您可以重新实现createPopupMenu()以创建自定义菜单。

创建工具栏

工具栏在QToolBar类中实现。您可以使用addToolBar()将工具栏添加到主窗口。

您可以通过将工具栏分配给特定的Qt::ToolBarArea来控制工具栏的初始位置。您可以通过使用addToolBarBreak()insertToolBarBreak()插入工具栏分隔符来分割一个区域,将这想象为文本编辑中的段落分隔符。您还可以使用QToolBar::setAllowedAreas()和QToolBar::setMovable()限制用户放置。

工具栏图标的大小可以通过iconSize()检索。这些大小是平台相关的;您可以使用setIconSize()设置一个固定大小。您可以使用setToolButtonStyle()更改工具栏上所有工具按钮的外观。

以下是如何创建工具栏的示例

    void MainWindow::createToolBars()
    {
        fileToolBar = addToolBar(tr("File"));
        fileToolBar->addAction(newAct);

创建停靠窗口

停靠窗口在QDockWidget类中实现。停靠窗口是一个可以停靠在主窗口中的窗口。您可以使用addDockWidget()将停靠窗口添加到主窗口。

根据Qt::DockWidgetArea枚举提供,有四个停靠小部件区域:左、右、上和下。可以使用setCorner()指定哪个停靠小部件区域占据区域重叠的角落。默认情况下,每个区域只能包含一行(垂直或水平)的停靠小部件,但如果启用嵌套setDockNestingEnabled(),停靠小部件可以选择添加到任一方向。

两个停靠小部件也可以彼此堆叠。然后使用QTabBar选择哪个小部件应该显示。

以下是如何创建和将停靠小部件添加到主窗口的示例。

    QDockWidget *dockWidget = new QDockWidget(tr("Dock Widget"), this);
    dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea |
                                Qt::RightDockWidgetArea);
    dockWidget->setWidget(dockWidgetContents);
    addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

状态栏

可以使用setStatusBar()设置状态栏,但会在第一次调用statusBar()(它返回主窗口的状态栏)时创建。有关如何使用它的信息,请参阅QStatusBar

存储状态

QMainWindow可以使用saveState()存储其布局的状态;可以通过restoreState()稍后检索。存储的是工具栏和停靠小部件的位置和大小(相对于主窗口的大小)。

另请参阅QMenuBarQToolBarQStatusBarQDockWidget菜单示例

成员类型文档

enum QMainWindow::DockOption
flags QMainWindow::DockOptions

此枚举包含指定QMainWindow停靠行为的标志。

常数描述
QMainWindow::AnimatedDocks0x01animated属性相同。
QMainWindow::AllowNestedDocks0x02dockNestingEnabled属性相同。
QMainWindow::AllowTabbedDocks0x04用户可以将一个停靠小部件“停在”另一个停靠小部件“上面”。然后使用选项卡栏选择哪个小部件应该显示。
QMainWindow::ForceTabbedDocks0x08每个停靠区域包含一个选项卡停靠小部件的单个堆栈。换句话说,停靠小部件不能在停靠区域内并列放置。如果设置了此选项,AllowNestedDocks将没有效果。
QMainWindow::VerticalTabs0x10主窗口两侧的两个垂直停靠区域将其选项卡垂直显示。如果没有设置此选项,所有停靠区域都将在底部显示其选项卡。隐含AllowTabbedDocks。另请参阅setTabPosition
QMainWindow::GroupedDragging0x20当拖动停靠的标题栏时,与之标签化的所有选项卡都将被拖动。隐含AllowTabbedDocks。如果一些QDockWidgets在哪个区域允许它们存在时有限制,则可能效果不佳。(此枚举值是在Qt 5.6中添加的。)

这些选项仅控制停靠小部件在QMainWindow中如何放入。它们不会重新排列停靠小部件以符合指定的选项。因此,应在向主窗口添加任何停靠小部件之前设置它们。 AnimatedDocks和VerticalTabs选项除外,可以在任何时候设置。

DockOptions类型是QFlags<DockOption>的typedef。它存储DockOption值的或组合。

属性文档

animatedbool

此属性是否可以用动画控制停靠小部件和工具栏。

当拖拽停靠小部件或工具栏至主窗口时,主窗口会调整内容以指示停靠小部件或工具栏将要停靠的位置。设置此属性将使QMainWindow以平滑动画的方式移动其内容。清除此属性将使内容瞬间跳转到新位置。

默认情况下,此属性被设置。如果主窗口包含在调整大小或重绘时较慢的 widgets,则可以清除此属性。

设置此属性与使用setDockOptions()设置AnimatedDocks选项相同。

访问函数

boolisAnimated() const
voidsetAnimated(bool enabled)

dockNestingEnabled : bool

此属性指示是否可以嵌套停靠

如果此属性为false,停靠区域只能包含一行(水平或垂直)的停靠小部件。如果此属性为true,停靠小部件占用的区域可以沿任意方向分割,以包含更多停靠小部件。

在包含大量停靠小部件的应用程序中,停靠嵌套是必要的。它允许用户更自由地组织他们的主窗口。然而,当停靠小部件拖拽至主窗口时,停靠嵌套会导致更复杂(且较不直观)的行为,因为有更多种方式将放置的停靠小部件放置到停靠区域。

设置此属性与使用setDockOptions()设置AllowNestedDocks选项相同。

访问函数

boolisDockNestingEnabled() const
voidsetDockNestingEnabled(bool enabled)

dockOptions : DockOptions

此属性保存QMainWindow的停靠行为

默认值是AnimatedDocks | AllowTabbedDocks

访问函数

QMainWindow::DockOptionsdockOptions() const
voidsetDockOptions(QMainWindow::DockOptions options)

documentMode : bool

此属性保存重叠停靠 widget 的标签栏是否设置为文档模式。

默认值为 false。

访问函数

booldocumentMode() const
voidsetDocumentMode(bool enabled)

另请参阅QTabBar::documentMode

iconSize : QSize

在此主窗口中工具栏图标的尺寸。

默认值是 GUI 风格工具栏图标的默认大小。请注意,使用的图标必须至少与这个大小一样,因为图标仅会按比例缩小。

访问函数

QSizeiconSize() const
voidsetIconSize(const QSize &iconSize)

tabShape : QTabWidget::TabShape

此属性保存用于重叠停靠 widget 的标签形状。

默认值是QTabWidget::Rounded

访问函数

QTabWidget::TabShapetabShape() const
voidsetTabShape(QTabWidget::TabShape tabShape)

另请参阅setTabPosition

toolButtonStyle : Qt::ToolButtonStyle

此主窗口工具栏按钮的样式。

若要使工具按钮样式跟随系统设置,请将此属性设置为 Qt::ToolButtonFollowStyle。在 Unix 操作系统上,将使用桌面环境的用户设置。在其他平台上,Qt::ToolButtonFollowStyle 表示仅图标。

默认为 Qt::ToolButtonIconOnly

访问函数

Qt::ToolButtonStyletoolButtonStyle() const
voidsetToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

unifiedTitleAndToolBarOnMac : bool

此属性指示窗口是否在 macOS 上使用统一的标题和工具栏外观。

请注意,与 Qt 4 相比,Qt 5 实现有几个局限性。

  • 在包含 OpenGL 内容的窗口上使用不受支持。这包括 QOpenGLWidget
  • 使用可停靠或可移动的工具栏可能会导致绘图错误,不建议使用。

访问函数

boolunifiedTitleAndToolBarOnMac() const
voidsetUnifiedTitleAndToolBarOnMac(bool set)

成员函数文档

[明确] QMainWindow::QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

构造一个具有指定的 parent 和指定的窗口小部件 flags 的 QMainWindow。

QMainWindow 会设置自己的Qt::Window 标志,因此始终作为顶级小部件创建。

[虚拟 noexcept] QMainWindow::~QMainWindow()

销毁主窗口。

void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)

将指定的 dockwidget 添加到指定的 area

void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)

dockwidget 添加到给定的 area,并按指定的 orientation 方向进行添加。

void QMainWindow::addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)

toolbar 添加到本主窗口指定的 area。该工具栏将被放置在当前工具栏块(即行)的末尾。如果主窗口已管理 toolbar,则只会将工具栏移动到 area

另请参阅insertToolBaraddToolBarBreakinsertToolBarBreak

void QMainWindow::addToolBar(QToolBar *toolbar)

这是一个重载的函数。

相当于调用 addToolBar(Qt::TopToolBarArea, toolbar)

QToolBar *QMainWindow::addToolBar(const QString &title)

这是一个重载的函数。

创建一个 QToolBar 对象,设置其窗口标题为 title,并将其插入到顶部工具栏区域。

另请参阅setWindowTitle

void QMainWindow::addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea)

在所有其他现有对象之后,在给定的 area 中添加一个工具栏断点。

QWidget *QMainWindow::centralWidget() const

返回主窗口的中央窗口小部件。如果未设置中央窗口小部件,此函数返回 nullptr

另请参阅setCentralWidget

[覆盖虚保护] void QMainWindow::contextMenuEvent(QContextMenuEvent *event)

重实现了: QWidget::contextMenuEvent(QContextMenuEvent *event).

Qt::DockWidgetArea QMainWindow::corner(Qt::Corner corner) const

返回占用指定 corner 的停靠窗口区域。

另请参阅setCorner

[虚拟] QMenu *QMainWindow::createPopupMenu()

返回一个包含可用于主窗口中现有工具栏和停靠小部件的可选条目弹出菜单。如果没有工具栏和停靠小部件,则此函数返回 nullptr

默认情况下,该函数在用户激活上下文菜单时由主窗口调用,通常是通过在工具栏或停靠小部件上右击。

如果您想创建一个自定义弹出菜单,则重写此函数并返回一个新创建的弹出菜单。弹出菜单的所有权将传递给调用者。

另请参阅addDockWidgetaddToolBarmenuBar

Qt::DockWidgetArea QMainWindow::dockWidgetArea(QDockWidget *dockwidget) const

返回 dockwidgetQt::DockWidgetArea。如果 dockwidget 未添加到主窗口,则此函数返回 Qt::NoDockWidgetArea

另请参阅addDockWidgetsplitDockWidgetQt::DockWidgetArea

[覆盖虚保护] bool QMainWindow::event(QEvent *event)

重实现了:QWidget::event(QEvent *event).

[信号] void QMainWindow::iconSizeChanged(const QSize &iconSize)

当窗口中使用的图标大小发生变化时会触发此信号。新图标大小通过 iconSize 传入。

您可以将此信号连接到其他组件,以帮助保持应用程序的一致外观。

另请参阅setIconSize()。

void QMainWindow::insertToolBar(QToolBar *before, QToolBar *toolbar)

toolbar 插入由 before 工具栏占据的区域,使其出现在其之前。例如,在正常的从左到右布局操作中,这意味着 toolbar 将在水平工具栏区域中出现在由 before 指定的工具栏左侧。

另请参阅insertToolBarBreak()、addToolBar() 和 addToolBarBreak()。

void QMainWindow::insertToolBarBreak(QToolBar *before)

在指定的 before 工具栏之前插入一个工具栏断点。

返回主窗口的菜单栏。如果菜单栏不存在,此函数创建并返回一个空菜单栏。

如果您想在一个Mac应用程序的所有窗口中共享一个菜单栏,请勿使用此函数创建它,因为此处创建的菜单栏将以此 QMainWindow 为其父项。相反,您必须创建一个没有父项的菜单栏,然后可以将其在所有Mac窗口之间共享。以下是这样创建无父项菜单栏的方法

QMenuBar *menuBar = new QMenuBar(nullptr);

另请参阅setMenuBar()。

返回主窗口的菜单栏。如果尚未构造菜单栏,则此函数返回 null。

另请参阅setMenuWidget()。

void QMainWindow::removeDockWidget(QDockWidget *dockwidget)

从主窗口布局中移除 dockwidget 并隐藏它。请注意,dockwidget 不会 被删除。

void QMainWindow::removeToolBar(QToolBar *toolbar)

从主窗口布局中移除 toolbar 并隐藏它。请注意,toolbar 不会 被删除。

void QMainWindow::removeToolBarBreak(QToolBar *before)

移除之前在指定的 before 工具栏之前插入的工具栏断点。

void QMainWindow::resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &sizes, Qt::Orientation orientation)

根据列表 sizes 中每个项的像素值调整列表 docks 中对应浮动窗口的大小。如果 orientationQt::Horizontal,则调整宽度,否则调整高度。大小调整将尊重最大和最小尺寸,并确保 QMainWindow 本身不会调整大小。多余的/缺少的空间将根据大小的相对权重分配给小部件。

示例

    resizeDocks({blueWidget, yellowWidget}, {20 , 40}, Qt::Horizontal);

如果蓝色和黄色小部件在相同级别嵌套,则它们的调整大小将使 yellowWidgetblueWidget 的大小两倍。

如果某些小部件被分组到标签中,则每个组应指定一个小部件。不在列表中的小部件可能需要更改以遵守约束。

bool QMainWindow::restoreDockWidget(QDockWidget *dockwidget)

如果 dockwidget 在调用 restoreState() 之后创建,则还原其状态。如果状态已还原,则返回 true;否则返回 false

anche restoreState() 和 saveState()。

bool QMainWindow::restoreState(const QByteArray &state, int version = 0)

还原此主窗口的工具栏和浮动窗口的状态。还还原了角落设置。将 version 号码与存储在 state 中的号码进行比较。如果不匹配,主窗口的状态将保持不变,并且此函数返回 false;否则,状态将还原,并且此函数返回 true

要使用 QSettings 保存的几何数据恢复,可以使用以下代码

void MainWindow::readSettings()
{
    QSettings settings("MyCompany", "MyApp");
    restoreGeometry(settings.value("myWidget/geometry").toByteArray());
    restoreState(settings.value("myWidget/windowState").toByteArray());
}

anche saveState(),QWidget::saveGeometry(),QWidget::restoreGeometry() 和 restoreDockWidget()。

QByteArray QMainWindow::saveState(int version = 0) const

保存此主窗口的工具栏和浮动窗口的当前状态。这包括可以通过 setCorner() 设置的角落设置。将 version 号码存储为数据的一部分。

objectName 属性用于标识每个 QToolBarQDockWidget。您应该确保为添加到 QMainWindow 的每个 QToolBarQDockWidget 设置此属性是唯一的。

要恢复已保存的状态,将返回值和 version 号码传递给 restoreState()。

要保存关闭窗口时的几何形状,可以像这样实现关闭事件

void MyMainWindow::closeEvent(QCloseEvent *event)
{
    QSettings settings("MyCompany", "MyApp");
    settings.setValue("geometry", saveGeometry());
    settings.setValue("windowState", saveState());
    QMainWindow::closeEvent(event);
}

anche restoreState(),QWidget::saveGeometry() 和 QWidget::restoreGeometry()。

void QMainWindow::setCentralWidget(QWidget *widget)

将指定的widget设置为主窗口的中心部件。

注意:QMainWindow会取得widget指针的所有权,并在适当的时候删除它。

另请参阅centralWidget()。

void QMainWindow::setCorner(Qt::Corner corner, Qt::DockWidgetArea area)

将指定的浮动窗口area设置为占据指定的corner

另请参阅corner()。

void QMainWindow::setMenuBar(QMenuBar *menuBar)

将主窗口的菜单栏设置为menuBar

注意:QMainWindow会取得menuBar指针的所有权,并在适当的时候删除它。

另请参阅menuBar()。

void QMainWindow::setMenuWidget(QWidget *menuBar)

将主窗口的菜单栏设置为menuBar

QMainWindow会取得menuBar指针的所有权,并在适当的时候删除它。

另请参阅menuWidget()。

void QMainWindow::setStatusBar(QStatusBar *statusbar)

将主窗口的状态栏设置为statusbar

将状态栏设置为nullptr将从主窗口中移除它。注意,QMainWindow会取得statusbar指针的所有权,并在适当的时候删除它。

另请参阅statusBar()。

void QMainWindow::setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)

将给定浮动窗口的areas设置指定的tabPosition。默认情况下,所有浮动区域显示其标签在底部。

注意:VerticalTabs浮动选项会覆盖由此方法设置的标签位置。

另请参阅QMainWindow::tabPosition()和QMainWindow::setTabShape()。

void QMainWindow::splitDockWidget(QDockWidget *first, QDockWidget *second, Qt::Orientation orientation)

将第一个浮动窗口first覆盖的空间分为两部分,将第一个浮动窗口first移动到第一部分,并将第二个浮动窗口second移动到第二部分。

方向orientation指定了空间是如何划分的:一个Qt::Horizontal的分割将第二个停靠部件放置在第一个停靠部件的右侧;一个Qt::Vertical的分割将第二个停靠部件放置在第一个停靠部件下方。

注意:如果第一个当前在选项卡停靠区域中,第二个将作为新的选项卡添加,而不是作为第一个的邻居。这是因为一个选项卡只能包含一个停靠部件。

注意Qt::LayoutDirection影响了分割区域两部分的停靠部件的顺序。当启用从右到左的布局方向时,停靠部件的放置将倒置。

另请参阅 tabifyDockWidget(),addDockWidget()和removeDockWidget()。

QStatusBar *QMainWindow::statusBar() const

返回主窗口的状态栏。如果状态栏不存在,此函数创建并返回一个空的状态栏。

另请参阅 setStatusBar()。

QTabWidget::TabPosition QMainWindow::tabPosition(Qt::DockWidgetArea area) const

返回area的选项卡位置。

注意: VerticalTabs停靠选项覆盖了该函数返回的选项卡位置。

另请参阅 setTabPosition()和tabShape

[信号] void QMainWindow::tabifiedDockWidgetActivated(QDockWidget *dockWidget)

当通过选择选项卡激活选项卡化的停靠部件时,会发出此信号。激活的停靠部件通过dockWidget传入。

另请参阅 tabifyDockWidget()和tabifiedDockWidgets()。

QList<QDockWidget *> QMainWindow::tabifiedDockWidgets(QDockWidget *dockwidget) const

返回与dockwidget一起选项卡化的停靠部件。

另请参阅 tabifyDockWidget()。

void QMainWindow::tabifyDockWidget(QDockWidget *first, QDockWidget *second)

将停靠部件second移动到停靠部件first的上方,在主窗口中创建一个选项卡化的停靠区域。

另请参阅 tabifiedDockWidgets()。

QWidget *QMainWindow::takeCentralWidget()

从本主窗口移除中心部件。

移除控件的所属权传递给调用者。

Qt::ToolBarArea QMainWindow::toolBarArea(const QToolBar *toolbar) const

返回工具栏的Qt::ToolBarArea。如果工具栏没有添加到主窗口中,则此函数返回Qt::NoToolBarArea

另请参阅addToolBar()、addToolBarBreakQt::ToolBarArea

bool QMainWindow::toolBarBreak(QToolBar *toolbar) const

返回是否存在在工具栏之前的工具栏断点。

另请参阅addToolBarBreak()和insertToolBarBreak

[信号] void QMainWindow::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

当窗口中工具按钮的样式改变时,发出此信号。新样式通过toolButtonStyle传入。

您可以将此信号连接到其他组件,以帮助保持应用程序的一致外观。

另请参阅setToolButtonStyle

© 2024 The Qt Company Ltd. 本文档中的贡献属于其各自所有者的版权。本提供的文档是在自由软件基金会公布的GNU自由文档许可证版本1.3的条款下许可的。Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。