2

我知道停靠小部件、拆分器等。我仍然想知道,是否可以像在 Eclipse 中那样创建灵活的拆分系统:当任何小部件在拖动过程中根据光标的位置保持垂直或水平拆分时。

例如,第一个小部件A占据了整个QMainWindow. 第二个B首先在选项卡中打开,所以它要么

-----
| A |
-----

或者

-----
| B |
-----

然后我将选项卡拖到B(假设)右侧区域QMainWindow- 并获得垂直拆分,如:

---------
| A | B |
---------

然后我打开其他一些小部件C。它再次在选项卡中打开(默认情况下在最左边和最顶部),所以它要么

---------
| A | B |
---------

或者

---------
| C | B |
---------

现在,我将标签拖到C底部B并得到:

---------
|   | B |
  A -----
|   | C |
---------

或者,如果我将它拖到底部中间,QMainWindow我会得到:

---------
| A | B |
---------
|   C   |
---------

我希望你明白了。如果您熟悉 Eclipse,它应该更容易理解。这里的关键是我可以无限次这样做并构建绝对自定义的布局,例如:

-----------------
|   | B | G |   |
| A ---------   |
|   | D |   | F |
--------- E |   |
|   C   |   |   |
-----------------
|       H       |
-----------------

这个例子看起来很混乱,这种疯狂布局的好处当然值得怀疑,但无论如何,问题是——Qt 是否提供了开箱即用的这种行为,或者至少提供了一些工具来以最少的编码工作来实现它。

4

1 回答 1

0

您可能想查看在setDockNestingEnabled(bool)您的QMainWindow. 这将使您的码头能够在拖放操作期间进行拆分。

您可以将此与其他小部件(如选项卡小部件)中的拖放支持结合起来。

于 2013-01-04T01:43:09.017 回答