qt - 在 setFloating(true) 之后 QDockWidget 被覆盖在主窗口下
问题描述
我希望一个停靠小部件在开始时浮动。所以我将停靠小部件添加到该区域,然后 setFloating(true)。但行为是这个停靠小部件被覆盖在主窗口下(不会留在顶部)
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
auto* dock = new QDockWidget(this);
auto* widget = new QWidget(dock);
auto* layout = new QHBoxLayout();
widget->setLayout(layout);
dock->setWidget(widget);
addDockWidget(Qt::RightDockWidgetArea, dock);
dock->setFloating(true);
layout->addWidget(new QPushButton("test", this));
}
停靠小部件在右上角可见,但是当我拖动主窗口时,停靠小部件隐藏在其下方。要修复它,我必须将停靠小部件拖到停靠区域,然后再次将其设置为浮动,并且该小部件位于顶部。
如何在开始时强制 QDockWidget 浮动并位于顶部?
Ubuntu 18.04 上的 Qt 版本 5.11.1
解决方案
推荐阅读
- java - 是否可以从 apk 或通过 Android Studio 恢复类?
- google-apps-script - 限制在编辑表单响应时更改随机生成的代码
- android - 如何在 Firebase 中获取孩子的价值?
- php - 在PHP中提取部分字符串
- docker - 用于关键任务金融应用的 Docker 解决方案
- postgresql - 在 Postgresql 中加入多个嵌套查询
- python - 如何以半对数比例在 Contourf 上制作颜色条
- php - 如何通过术语名称而不是术语 ID 从 get_terms 中排除术语
- java - 错误:不兼容的类型:void 无法转换为 NumPal
- python - 如何将 SQLite3 数据库导入 Python Jupyter Notebook?