没有中央小部件的QDockWidget布局

时间:2015-10-27 13:52:03

标签: qt layout qt4 qt-designer qdockwidget

我遇到QDockWidget问题。我正在使用Qt Designer,我想构建一个只有dock-widgets的应用程序,并且在属性上方有一个小栏。问题是我无法在没有主要QWidget的情况下构建应用程序(我的意思是 QDockWidgets)。

以下是我的截图:

qtdesigner

注释1) - 这是我无法删除的空间。当我从xml中删除它时,Qt Designer崩溃了。如果它不可移动,我怎样才能将左QDockWidget和右QDockWidget设置为整个窗口宽度的一半?

4 个答案:

答案 0 :(得分:2)

您可以使用T

删除centralWidget

答案 1 :(得分:1)

这不能在Qt Designer中完成。但是,有一个Qt Forum Thread表明可能有一种方法可以通过编程方式进行。

首先,您必须在Qt Designer中将主窗口 dockNestingEnabled 属性设置为true。然后,在创建ui之后,以编程方式删除中央窗口小部件,然后删除,重新添加并重新显示所有停靠窗口小部件。

当我测试这个时,我发现我需要用单次计时器显示dock-widget,否则我无法垂直调整它们。然而,即使有这么小的黑客,我仍然发现调整大小并不总是正常工作。所以我不相信Qt真的支持这种使用dock-widget的方式。

答案 2 :(得分:0)

在Qt Designer中创建GUI并将其转换为ui_file。在__init___通话脚本中添加一行:

self.ui.centralwidget.hide()

您可能需要检查您的中央窗口小部件是否如上所述

答案 3 :(得分:0)

删除对中央窗口小部件的所有引用:

pyuic5 -x uifile.ui -o main.py
sed -i /centralwidget/d main.py

运行python3 main.py应该会为您带来所需的行为。