QMainWindow Class
La clase QMainWindow proporciona una ventana principal de la aplicación. Más...
| Cabecera: | #include <QMainWindow> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QWidget |
Tipos públicos
| enum | DockOption { AnimatedDocks, AllowNestedDocks, AllowTabbedDocks, ForceTabbedDocks, VerticalTabs, GroupedDragging } |
| flags | DockOptions |
Propiedades
|
|
Funciones públicas
| QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
| virtual | ~QMainWindow() |
| void | addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget) |
| void | addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation) |
| void | addToolBar(Qt::ToolBarArea area, QToolBar *toolbar) |
| void | addToolBar(QToolBar *toolbar) |
| QToolBar * | addToolBar(const QString &title) |
| void | addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea) |
| QWidget * | centralWidget() const |
| Qt::DockWidgetArea | corner(Qt::Corner corner) const |
| virtual QMenu * | createPopupMenu() |
| QMainWindow::DockOptions | dockOptions() const |
| Qt::DockWidgetArea | dockWidgetArea(QDockWidget *dockwidget) const |
| bool | documentMode() const |
| QSize | iconSize() const |
| void | insertToolBar(QToolBar *before, QToolBar *toolbar) |
| void | insertToolBarBreak(QToolBar *before) |
| bool | isAnimated() const |
| bool | isDockNestingEnabled() const |
| QMenuBar * | menuBar() const |
| QWidget * | menuWidget() const |
| void | removeDockWidget(QDockWidget *dockwidget) |
| void | removeToolBar(QToolBar *toolbar) |
| void | removeToolBarBreak(QToolBar *before) |
| void | resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &sizes, Qt::Orientation orientation) |
| bool | restoreDockWidget(QDockWidget *dockwidget) |
| bool | restoreState(const QByteArray &state, int version = 0) |
| QByteArray | saveState(int version = 0) const |
| void | setCentralWidget(QWidget *widget) |
| void | setCorner(Qt::Corner corner, Qt::DockWidgetArea area) |
| void | setDockOptions(QMainWindow::DockOptions options) |
| void | setDocumentMode(bool enabled) |
| void | setIconSize(const QSize &iconSize) |
| void | setMenuBar(QMenuBar *menuBar) |
| void | setMenuWidget(QWidget *menuBar) |
| void | setStatusBar(QStatusBar *statusbar) |
| void | setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition) |
| void | setTabShape(QTabWidget::TabShape tabShape) |
| void | setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle) |
| void | splitDockWidget(QDockWidget *first, QDockWidget *second, Qt::Orientation orientation) |
| QStatusBar * | statusBar() const |
| QTabWidget::TabPosition | tabPosition(Qt::DockWidgetArea area) const |
| QTabWidget::TabShape | tabShape() const |
| QList<QDockWidget *> | tabifiedDockWidgets(QDockWidget *dockwidget) const |
| void | tabifyDockWidget(QDockWidget *first, QDockWidget *second) |
| QWidget * | takeCentralWidget() |
| Qt::ToolBarArea | toolBarArea(const QToolBar *toolbar) const |
| bool | toolBarBreak(QToolBar *toolbar) const |
| Qt::ToolButtonStyle | toolButtonStyle() const |
| bool | unifiedTitleAndToolBarOnMac() const |
Ranuras públicas
| void | setAnimated(bool enabled) |
| void | setDockNestingEnabled(bool enabled) |
| void | setUnifiedTitleAndToolBarOnMac(bool set) |
Señales
| void | iconSizeChanged(const QSize &iconSize) |
| void | tabifiedDockWidgetActivated(QDockWidget *dockWidget) |
| void | toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle) |
Funciones protegidas reimplementadas
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual bool | event(QEvent *event) override |
Descripción detallada
Marco de trabajo de la ventana principal de Qt
Una ventana principal proporciona un marco para construir la interfaz de usuario de una aplicación. Qt tiene QMainWindow y sus clases relacionadas para la gestión de la ventana principal. QMainWindow tiene su propio layout al que puedes añadir QToolBars, QDockWidgets, un QMenuBar, y un QStatusBar. El layout tiene un área central que puede ser ocupada por cualquier tipo de widget. Puedes ver una imagen del layout a continuación.

Creación de componentes de la ventana principal
El widget central suele ser un widget estándar de Qt, como QTextEdit o QGraphicsView. También se pueden utilizar widgets personalizados para aplicaciones avanzadas. El widget central se configura con setCentralWidget().
Las ventanas principales tienen una interfaz de documento único (SDI) o múltiple (MDI). Puedes crear aplicaciones MDI en Qt usando un QMdiArea como widget central.
Ahora examinaremos cada uno de los otros widgets que pueden añadirse a una ventana principal. Daremos ejemplos de cómo crearlos y añadirlos.
Creación de menús
Qt implementa menús en QMenu y QMainWindow los guarda en un QMenuBar. QActions se añaden a los menús, que los muestran como elementos de menú.
Puedes añadir nuevos menús a la barra de menús de la ventana principal llamando a menuBar(), que devuelve el QMenuBar de la ventana, y luego añadir un menú con QMenuBar::addMenu().
QMainWindow viene con una barra de menús predeterminada, pero también puede configurar una usted mismo con setMenuBar(). Si desea implementar una barra de menús personalizada (es decir, no utilizar el widget QMenuBar ), puede configurarla con setMenuWidget().
A continuación se muestra un ejemplo de cómo crear menús:
void MainWindow::createMenus() { fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(newAct); fileMenu->addAction(openAct); fileMenu->addAction(saveAct);
La función createPopupMenu() crea menús emergentes cuando la ventana principal recibe eventos de menú contextual. La implementación por defecto genera un menú con las acciones comprobables de los widgets del dock y las barras de herramientas. Puede reimplementar createPopupMenu() para obtener un menú personalizado.
Creación de barras de herramientas
Las barras de herramientas se implementan en la clase QToolBar. Puede añadir una barra de herramientas a una ventana principal con addToolBar().
Puede controlar la posición inicial de las barras de herramientas asignándolas a un Qt::ToolBarArea específico. Puede dividir un área insertando un salto de barra de herramientas -piense en esto como un salto de línea en la edición de texto- con addToolBarBreak() o insertToolBarBreak(). También puede restringir la colocación por parte del usuario con QToolBar::setAllowedAreas() y QToolBar::setMovable().
El tamaño de los iconos de la barra de herramientas puede obtenerse con iconSize(). Los tamaños dependen de la plataforma; puede establecer un tamaño fijo con setIconSize(). Puede alterar la apariencia de todos los botones de las barras de herramientas con setToolButtonStyle().
A continuación se muestra un ejemplo de creación de barras de herramientas:
void MainWindow::createToolBars() { fileToolBar = addToolBar(tr("File")); fileToolBar->addAction(newAct);
Creación de widgets de muelle
Los widgets de acoplamiento se implementan en la clase QDockWidget. Un widget acoplable es una ventana que puede acoplarse a la ventana principal. Los widgets dock se añaden a una ventana principal con addDockWidget().
Existen cuatro áreas para los widgets dock, tal y como se indica en el enum Qt::DockWidgetArea: izquierda, derecha, superior e inferior. Puede especificar qué área de widget de acoplamiento debe ocupar las esquinas donde se solapan las áreas con setCorner(). Por defecto, cada área sólo puede contener una fila (vertical u horizontal) de widgets dock, pero si habilitas el anidamiento con setDockNestingEnabled(), los widgets dock pueden añadirse en cualquier dirección.
También se pueden apilar dos widgets dock uno encima del otro. A continuación, se utiliza QTabBar para seleccionar cuál de los widgets debe mostrarse.
Damos un ejemplo de cómo crear y añadir widgets dock a una ventana principal:
QDockWidget *dockWidget = new QDockWidget(tr("Dock Widget"), this); dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); dockWidget->setWidget(dockWidgetContents); addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
La barra de estado
Puede establecer una barra de estado con setStatusBar(), pero se crea una la primera vez que se llama a statusBar() (que devuelve la barra de estado de la ventana principal). Consulte QStatusBar para obtener información sobre cómo utilizarla.
Almacenando Estado
QMainWindow puede almacenar el estado de su layout con saveState(); más tarde puede ser recuperado con restoreState(). Lo que se almacena es la posición y el tamaño (relativo al tamaño de la ventana principal) de las barras de herramientas y los widgets del dock.
Ver también QMenuBar, QToolBar, QStatusBar, QDockWidget, y Ejemplo de Menús.
Documentación de tipos de miembros
enum QMainWindow::DockOption
flags QMainWindow::DockOptions
Este enum contiene banderas que especifican el comportamiento de acoplamiento de QMainWindow.
| Constante | Valor | Descripción |
|---|---|---|
QMainWindow::AnimatedDocks | 0x01 | Idéntica a la propiedad animated. |
QMainWindow::AllowNestedDocks | 0x02 | Idéntica a la propiedad dockNestingEnabled. |
QMainWindow::AllowTabbedDocks | 0x04 | El usuario puede colocar un widget dock "encima" de otro. Los dos widgets se apilan y aparece una barra de pestañas para seleccionar cuál es visible. |
QMainWindow::ForceTabbedDocks | 0x08 | Cada área dock contiene una única pila de widgets dock con pestañas. En otras palabras, los widgets acoplables no pueden colocarse uno junto a otro en un área acoplable. Si esta opción está activada, AllowNestedDocks no tiene ningún efecto. |
QMainWindow::VerticalTabs | 0x10 | Las dos áreas acoplables verticales a los lados de la ventana principal muestran sus pestañas verticalmente. Si esta opción no está activada, todas las áreas acoplables muestran sus pestañas en la parte inferior. Implica AllowTabbedDocks. Véase también setTabPosition(). |
QMainWindow::GroupedDragging | 0x20 | Al arrastrar la barra de título de un dock, se arrastrarán todas las pestañas que estén tabuladas con él. Implica AllowTabbedDocks. No funciona bien si algunos QDockWidgets tienen restricciones en que área están permitidos. (Este valor enum se añadió en Qt 5.6.) |
Estas opciones sólo controlan cómo se pueden colocar los widgets del dock en QMainWindow. No reorganizan los widgets del dock para que se ajusten a las opciones especificadas. Por esta razón, deberían establecerse antes de añadir ningún widget a la ventana principal. Las excepciones son las opciones AnimatedDocks y VerticalTabs, que pueden establecerse en cualquier momento.
El tipo DockOptions es un typedef para QFlags<DockOption>. Almacena una combinación OR de valores DockOption.
Documentación de Propiedades
animated : bool
Esta propiedad indica si la manipulación de los widgets del dock y las barras de herramientas está animada
Cuando se arrastra un widget acoplable o una barra de herramientas sobre la ventana principal, la ventana principal ajusta su contenido para indicar dónde se acoplará el widget acoplable o la barra de herramientas si se suelta. Establecer esta propiedad hace que QMainWindow mueva su contenido en una animación suave. Borrar esta propiedad hace que el contenido se ajuste a su nueva posición.
Por defecto, esta propiedad está activada. Puede desactivarse si la ventana principal contiene widgets que tardan en cambiar de tamaño o repintarse.
Establecer esta propiedad es idéntico a establecer la opción AnimatedDocks utilizando setDockOptions().
Funciones de acceso:
| bool | isAnimated() const |
| void | setAnimated(bool enabled) |
dockNestingEnabled : bool
Esta propiedad indica si los muelles pueden anidarse.
Si esta propiedad es false, las áreas dock sólo pueden contener una única fila (horizontal o vertical) de widgets dock. Si esta propiedad es true, el área ocupada por un widget de dock puede dividirse en cualquier dirección para contener más widgets de dock.
El anidamiento de docks sólo es necesario en aplicaciones que contienen muchos widgets dock. Ofrece al usuario una mayor libertad a la hora de organizar su ventana principal. Sin embargo, el anidamiento de docks conduce a un comportamiento más complejo (y menos intuitivo) cuando un widget dock se arrastra sobre la ventana principal, ya que hay más formas en las que un widget dock soltado puede colocarse en el área del dock.
Establecer esta propiedad es idéntico a establecer la opción AllowNestedDocks utilizando setDockOptions().
Funciones de acceso:
| bool | isDockNestingEnabled() const |
| void | setDockNestingEnabled(bool enabled) |
dockOptions : DockOptions
Esta propiedad mantiene el comportamiento de acoplamiento de QMainWindow
El valor por defecto es AnimatedDocks | AllowTabbedDocks.
Funciones de acceso:
| QMainWindow::DockOptions | dockOptions() const |
| void | setDockOptions(QMainWindow::DockOptions options) |
documentMode : bool
Esta propiedad indica si la barra de pestañas de los dockwidgets con pestañas está en modo documento.
Por defecto es false.
Funciones de acceso:
| bool | documentMode() const |
| void | setDocumentMode(bool enabled) |
Véase también QTabBar::documentMode.
iconSize : QSize
Tamaño de los iconos de la barra de herramientas en esta ventana principal.
El valor predeterminado es el tamaño de los iconos de la barra de herramientas del estilo GUI. Tenga en cuenta que los iconos utilizados deben ser al menos de este tamaño, ya que los iconos sólo se reducen a escala.
Funciones de acceso:
| QSize | iconSize() const |
| void | setIconSize(const QSize &iconSize) |
tabShape : QTabWidget::TabShape
Esta propiedad contiene la forma de la pestaña utilizada para los widgets del dock con pestañas.
Por defecto es QTabWidget::Rounded.
Funciones de acceso:
| QTabWidget::TabShape | tabShape() const |
| void | setTabShape(QTabWidget::TabShape tabShape) |
Véase también setTabPosition().
toolButtonStyle : Qt::ToolButtonStyle
estilo de los botones de la barra de herramientas en esta ventana principal.
Para que el estilo de los botones de herramientas siga la configuración del sistema, establezca esta propiedad en Qt::ToolButtonFollowStyle. En Unix, se utilizará la configuración de usuario del entorno de escritorio. En otras plataformas, Qt::ToolButtonFollowStyle significa sólo icono.
El valor por defecto es Qt::ToolButtonIconOnly.
Funciones de acceso:
| Qt::ToolButtonStyle | toolButtonStyle() const |
| void | setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle) |
unifiedTitleAndToolBarOnMac : bool
Esta propiedad indica si la ventana utiliza el título unificado y el aspecto de la barra de herramientas en macOS.
Tenga en cuenta que la implementación de Qt 5 tiene varias limitaciones en comparación con Qt 4:
- El uso en ventanas con contenido OpenGL no está soportado. Esto incluye QOpenGLWidget.
- El uso de barras de herramientas acoplables o móviles puede dar lugar a errores de pintura y no se recomienda
Funciones de acceso:
| bool | unifiedTitleAndToolBarOnMac() const |
| void | setUnifiedTitleAndToolBarOnMac(bool set) |
Documentación de funciones miembro
[explicit] QMainWindow::QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
Construye un QMainWindow con el parent dado y el widget flags especificado.
QMainWindow establece la bandera Qt::Window por sí mismo, y por lo tanto siempre será creado como un widget de nivel superior.
[virtual noexcept] QMainWindow::~QMainWindow()
Destruye la ventana principal.
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)
Añade el dockwidget dado al area especificado.
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)
Añade dockwidget a area en la dirección especificada por orientation.
void QMainWindow::addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)
Añade el toolbar en el area especificado en esta ventana principal. El toolbar se coloca al final del bloque actual de la barra de herramientas (es decir, de la línea). Si la ventana principal ya maneja toolbar entonces sólo moverá la barra de herramientas a area.
Véase también insertToolBar(), addToolBarBreak(), y insertToolBarBreak().
void QMainWindow::addToolBar(QToolBar *toolbar)
Equivale a llamar a addToolBar(Qt::TopToolBarArea, toolbar)
Se trata de una función sobrecargada.
QToolBar *QMainWindow::addToolBar(const QString &title)
Crea un objeto QToolBar, estableciendo su título de ventana a title, y lo inserta en el área superior de la barra de herramientas.
Se trata de una función sobrecargada.
Véase también setWindowTitle().
void QMainWindow::addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea)
Añade una barra de herramientas a area después de todos los demás objetos presentes.
QWidget *QMainWindow::centralWidget() const
Devuelve el widget central de la ventana principal. Esta función devuelve nullptr si no se ha establecido el widget central.
Véase también setCentralWidget().
[override virtual protected] void QMainWindow::contextMenuEvent(QContextMenuEvent *event)
Reimplementa: QWidget::contextMenuEvent(QContextMenuEvent *event).
Qt::DockWidgetArea QMainWindow::corner(Qt::Corner corner) const
Devuelve el área del widget del dock que ocupa la dirección corner especificada.
Véase también setCorner().
[virtual] QMenu *QMainWindow::createPopupMenu()
Devuelve un menú emergente que contiene entradas comprobables para las barras de herramientas y los widgets del dock presentes en la ventana principal. Si no hay barras de herramientas ni widgets acoplables, esta función devuelve nullptr.
Por defecto, esta función es invocada por la ventana principal cuando el usuario activa un menú contextual, normalmente haciendo clic con el botón derecho del ratón sobre una barra de herramientas o un widget del dock.
Si desea crear un menú emergente personalizado, reimplemente esta función y devuelva un menú emergente recién creado. La propiedad del menú emergente se transfiere a la persona que realiza la llamada.
Véase también addDockWidget(), addToolBar() y menuBar().
Qt::DockWidgetArea QMainWindow::dockWidgetArea(QDockWidget *dockwidget) const
Devuelve el Qt::DockWidgetArea para dockwidget. Si no se ha añadido dockwidget a la ventana principal, esta función devuelve Qt::NoDockWidgetArea.
Véase también addDockWidget(), splitDockWidget() y Qt::DockWidgetArea.
[override virtual protected] bool QMainWindow::event(QEvent *event)
Reimplementa: QWidget::event(QEvent *event).
[signal] void QMainWindow::iconSizeChanged(const QSize &iconSize)
Esta señal se emite cuando se cambia el tamaño de los iconos utilizados en la ventana. El nuevo tamaño del icono se pasa en iconSize.
Puedes conectar esta señal a otros componentes para ayudar a mantener una apariencia consistente en tu aplicación.
Véase también setIconSize().
void QMainWindow::insertToolBar(QToolBar *before, QToolBar *toolbar)
Inserta toolbar en el área ocupada por la barra de herramientas before de forma que aparezca antes que ella. Por ejemplo, en un funcionamiento normal de maquetación de izquierda a derecha, esto significa que toolbar aparecerá a la izquierda de la barra de herramientas especificada por before en un área de barra de herramientas horizontal.
Véase también insertToolBarBreak(), addToolBar() y addToolBarBreak().
void QMainWindow::insertToolBarBreak(QToolBar *before)
Inserta una barra de herramientas antes de la barra de herramientas especificada por before.
QMenuBar *QMainWindow::menuBar() const
Devuelve la barra de menús de la ventana principal. Esta función crea y devuelve una barra de menú vacía si la barra de menú no existe.
Si desea que todas las ventanas de una aplicación Mac compartan una barra de menús, no utilice esta función para crearla, porque la barra de menús creada aquí tendrá este QMainWindow como padre. En su lugar, debe crear una barra de menú que no tenga padre, que luego podrá compartir entre todas las ventanas del Mac. Cree así una barra de menú sin padre:
Véase también setMenuBar().
QWidget *QMainWindow::menuWidget() const
Devuelve la barra de menú de la ventana principal. Esta función devuelve null si aún no se ha construido una barra de menú.
Véase también setMenuWidget().
void QMainWindow::removeDockWidget(QDockWidget *dockwidget)
Elimina dockwidget del diseño de la ventana principal y lo oculta. Tenga en cuenta que dockwidget no se elimina.
void QMainWindow::removeToolBar(QToolBar *toolbar)
Elimina toolbar del diseño de la ventana principal y lo oculta. Tenga en cuenta que toolbar no se elimina.
void QMainWindow::removeToolBarBreak(QToolBar *before)
Elimina una barra de herramientas previamente insertada antes de la barra de herramientas especificada por before.
void QMainWindow::resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &sizes, Qt::Orientation orientation)
Redimensiona los widgets del dock de la lista docks al tamaño en píxeles correspondiente de la lista sizes. Si orientation es Qt::Horizontal, ajusta la anchura, en caso contrario ajusta la altura de los widgets del dock. Los tamaños se ajustarán de forma que se respeten los tamaños máximo y mínimo y el propio QMainWindow no se redimensionará. Cualquier espacio adicional/faltante se distribuye entre los widgets según el peso relativo de los tamaños.
Ejemplo:
resizeDocks({blueWidget, yellowWidget}, {20 , 40}, Qt::Horizontal);Si el widget azul y el amarillo están anidados en el mismo nivel, se redimensionarán de forma que el widget amarillo sea el doble de grande que el widget azul.
Si algunos widgets están agrupados en pestañas, sólo debe especificarse un widget por grupo. Los widgets que no estén en la lista podrían modificarse para respetar las restricciones.
bool QMainWindow::restoreDockWidget(QDockWidget *dockwidget)
Restaura el estado de dockwidget si se ha creado después de la llamada a restoreState(). Devuelve true si el estado fue restaurado; en caso contrario devuelve false.
Véase también restoreState() y saveState().
bool QMainWindow::restoreState(const QByteArray &state, int version = 0)
Restaura el state de las barras de herramientas y dockwidgets de esta ventana principal. También restaura la configuración de las esquinas. El número version se compara con el almacenado en state. Si no coinciden, el estado de la ventana principal se deja sin cambios, y esta función devuelve false; de lo contrario, el estado se restaura, y esta función devuelve true.
Para restaurar la geometría guardada mediante QSettings, puede utilizar código como el siguiente:
void MainWindow::readSettings() { QSettings settings("MyCompany", "MyApp"); restoreGeometry(settings.value("myWidget/geometry").toByteArray()); restoreState(settings.value("myWidget/windowState").toByteArray()); }
Véase también saveState(), QWidget::saveGeometry(), QWidget::restoreGeometry(), y restoreDockWidget().
QByteArray QMainWindow::saveState(int version = 0) const
Guarda el estado actual de las barras de herramientas y dockwidgets de esta ventana principal. Esto incluye la configuración de las esquinas que puede establecerse con setCorner(). El número version se almacena como parte de los datos.
La propiedad objectName se utiliza para identificar cada QToolBar y QDockWidget. Debes asegurarte de que esta propiedad es única para cada QToolBar y QDockWidget que añadas a la ventana principal. QMainWindow
Para restaurar el estado guardado, pase el valor de retorno y el número version a restoreState().
Para guardar la geometría cuando la ventana se cierra, puedes implementar un evento de cierre como este:
void MyMainWindow::closeEvent(QCloseEvent *event) { QSettings settings("MyCompany", "MyApp"); settings.setValue("geometry", saveGeometry()); settings.setValue("windowState", saveState()); QMainWindow::closeEvent(event); }
Véase también restoreState(), QWidget::saveGeometry(), y QWidget::restoreGeometry().
void QMainWindow::setCentralWidget(QWidget *widget)
Establece el widget dado como widget central de la ventana principal.
Nota: QMainWindow toma posesión del puntero widget y lo borra en el momento oportuno.
Véase también centralWidget().
void QMainWindow::setCorner(Qt::Corner corner, Qt::DockWidgetArea area)
Establece el widget del dock dado area para que ocupe el espacio especificado corner.
Véase también corner().
void QMainWindow::setMenuBar(QMenuBar *menuBar)
Establece la barra de menús de la ventana principal en menuBar.
Nota: QMainWindow se apropia del puntero menuBar y lo borra en el momento oportuno.
Véase también menuBar().
void QMainWindow::setMenuWidget(QWidget *menuBar)
Establece la barra de menús de la ventana principal en menuBar.
QMainWindow toma posesión del puntero menuBar y lo borra en el momento oportuno.
Véase también menuWidget().
void QMainWindow::setStatusBar(QStatusBar *statusbar)
Establece la barra de estado de la ventana principal en statusbar.
Establecer la barra de estado en nullptr la eliminará de la ventana principal. Tenga en cuenta que QMainWindow toma posesión del puntero statusbar y lo elimina en el momento apropiado.
Véase también statusBar().
void QMainWindow::setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)
Establece la posición de la pestaña para el widget del dock areas especificado en tabPosition. Por defecto, todas las áreas dock muestran sus pestañas en la parte inferior.
Nota: La opción de anclaje VerticalTabs anula las posiciones de las pestañas establecidas por este método.
Véase también tabPosition() y setTabShape().
void QMainWindow::splitDockWidget(QDockWidget *first, QDockWidget *second, Qt::Orientation orientation)
Divide el espacio cubierto por el widget de acoplamiento first en dos partes, mueve el widget de acoplamiento first a la primera parte y mueve el widget de acoplamiento second a la segunda parte.
orientation especifica cómo se divide el espacio: Una división Qt::Horizontal coloca el segundo widget dock a la derecha del primero; una división Qt::Vertical coloca el segundo widget dock debajo del primero.
Nota: si first se encuentra actualmente en un área acoplada con pestañas, second se añadirá como nueva pestaña, no como vecina de first. Esto se debe a que una sola pestaña sólo puede contener un widget acoplable.
Nota: Qt::LayoutDirection influye en el orden de los widgets acoplables en las dos partes del área dividida. Cuando se activa la dirección de maquetación de derecha a izquierda, la colocación de los widgets del dock se invierte.
Véase también tabifyDockWidget(), addDockWidget() y removeDockWidget().
QStatusBar *QMainWindow::statusBar() const
Devuelve la barra de estado de la ventana principal. Esta función crea y devuelve una barra de estado vacía si la barra de estado no existe.
Véase también setStatusBar().
QTabWidget::TabPosition QMainWindow::tabPosition(Qt::DockWidgetArea area) const
Devuelve la posición de tabulación de area.
Nota: La opción de acoplamiento VerticalTabs anula las posiciones de tabulación devueltas por esta función.
Véase también setTabPosition() y tabShape().
[signal] void QMainWindow::tabifiedDockWidgetActivated(QDockWidget *dockWidget)
Esta señal se emite cuando el widget dock tabulado se activa seleccionando la pestaña. El widget dock activado se pasa en dockWidget.
Véase también tabifyDockWidget() y tabifiedDockWidgets().
QList<QDockWidget *> QMainWindow::tabifiedDockWidgets(QDockWidget *dockwidget) const
Devuelve los widgets del dock tabulados junto con dockwidget.
Véase también tabifyDockWidget().
void QMainWindow::tabifyDockWidget(QDockWidget *first, QDockWidget *second)
Mueve el widget acoplado second encima del widget acoplado first, creando un área acoplada con pestañas en la ventana principal.
Véase también tabifiedDockWidgets().
QWidget *QMainWindow::takeCentralWidget()
Elimina el widget central de esta ventana principal.
La propiedad del widget eliminado se pasa a la persona que llama.
Qt::ToolBarArea QMainWindow::toolBarArea(const QToolBar *toolbar) const
Devuelve el Qt::ToolBarArea para toolbar. Si no se ha añadido toolbar a la ventana principal, esta función devuelve Qt::NoToolBarArea.
Véase también addToolBar(), addToolBarBreak() y Qt::ToolBarArea.
bool QMainWindow::toolBarBreak(QToolBar *toolbar) const
Devuelve si hay una interrupción de la barra de herramientas antes de toolbar.
Véase también addToolBarBreak() y insertToolBarBreak().
[signal] void QMainWindow::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)
Esta señal se emite cuando se cambia el estilo utilizado para los botones de herramientas en la ventana. El nuevo estilo se pasa en toolButtonStyle.
Puedes conectar esta señal a otros componentes para ayudar a mantener una apariencia consistente en tu aplicación.
Véase también setToolButtonStyle().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.