Qt 即使存在顶部/底部停靠,如何垂直扩展侧停靠窗口小部件?

Qt 即使存在顶部/底部停靠,如何垂直扩展侧停靠窗口小部件?,qt,user-interface,Qt,User Interface,当前,如果在我的QMainWindow的顶部、底部和侧面都有QDockWidgets,它们的排列方式如下: _____________________ | | |_____________________| | | | | | | | | | | | | |___|_____________|___| | | |____

当前,如果在我的
QMainWindow
的顶部、底部和侧面都有
QDockWidget
s,它们的排列方式如下:

 _____________________
|                     |
|_____________________|
|   |             |   |
|   |             |   |
|   |             |   |
|___|_____________|___|
|                     |
|_____________________|
 _____________________
|                 |   | 
|_________________|   | 
|   |             |   | 
|   |             |   | 
|   |             |   | 
|___|_____________|   | 
|                 |   | 
|_________________|___|  
我想让一个侧码头垂直延伸,如下所示:

 _____________________
|                     |
|_____________________|
|   |             |   |
|   |             |   |
|   |             |   |
|___|_____________|___|
|                     |
|_____________________|
 _____________________
|                 |   | 
|_________________|   | 
|   |             |   | 
|   |             |   | 
|   |             |   | 
|___|_____________|   | 
|                 |   | 
|_________________|___|  

如何使用
QDockWidget
?我曾多次尝试查看Designer中的各种选项,查看了
QDockWidget
QMainWindow
的所有文档,但没有发现任何相关内容。我是否必须为此创建自己的布局,或者可能是子类
QMainWindow

void QMainWindow::setCorner(Qt::Corner,Qt::DockWidgetArea)
void QMainWindow::setCorner(Qt::Corner,Qt::DockWidgetArea)
详细说明@Tomas的答案。Qt文档说明:


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

设置给定的停靠窗口小部件
区域
以占据指定的
角落


事实上,这是误导性的:该区域不会只占据指定的角。相反,这个角将属于该区域,也就是说,您可以将多个角设置为一个区域,这样您就可以得到右侧区域和右下角,或上角,或两者都有。

详细说明@Tomas的答案。Qt文档说明:


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

设置给定的停靠窗口小部件
区域
以占据指定的
角落

事实上,这是误导性的:该区域不会只占据指定的角。相反,此角将属于该区域,即,您可以将多个角设置为单个区域,因此您将获得例如右侧区域和右下角,或顶部角,或两者