gpt4 book ai didi

c++ - Qt:像Eclipse一样拖放Widget实现任意布局(拆分)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:22 26 4
gpt4 key购买 nike

我知道停靠小部件、拆分器等。但我仍然想知道,是否有可能像 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 是否提供了这种开箱即用的行为,或者至少提供了一些设施来以最小的成本实现它编码工作。

最佳答案

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

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

关于c++ - Qt:像Eclipse一样拖放Widget实现任意布局(拆分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com