我正在寻找Qt5现有的解决方案,这将允许我构建一个水平布局的QWidget,其中一些子部件将在父部件区域内移动。
作为这种行为的一个例子,你可以尝试在firefox中玩标签-用户可以拖动标签并左右移动它,而其他标签则被画在一边为拖动的标签腾出地方。
我还希望能够将子部件从一个父部件拖放到另一个父部件上,就像firefox一样:一个选项卡可以拖到另一个窗口。但是在我的例子中,拖放会在一个应用程序中发生。
有这样的解决方案吗?还是我必须自己做?
我正在使用Qt4,但我确信以下内容也适用于Qt5:
-
对于tabwidget中的移动选项卡,QTabWidget类中有一个API"setMovable (bool movable)"。
-
对于您的其他要求,您可能需要做一点编码。您应该查看QDrag类的文档和qt安装中的拖放示例(examples/draganddrop)文件夹