且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从QTabWidget拖放标签

更新时间:2023-11-30 13:20:52

这是一个技巧我过去曾经用过你所寻找的东西。如果您想对参数进行很多控制,那么可能会有很大的限制。

Here is a trick I've used in the past to do what you are looking for. It may be quite limited if you want to have a lot of control on the parameters but it does the job.


  1. 将第二个 QMainWindow 作为 centralWidget QMainWindow

  2. 不要为此第二个 QMainWindow 设置任何 centralWidget

  3. 设置标志: QMainWindow.AllowNestedDocks QMainWindow.AllowTabbedDocks

  1. Put a 2nd QMainWindow as the centralWidget of you QMainWindow.
  2. Don't set any centralWidget for this 2nd QMainWindow.
  3. Set flags : QMainWindow.AllowNestedDocks and QMainWindow.AllowTabbedDocks

添加标签页添加 QDockWidgets 。这些将自动处理为 QTabWidgets

Add tabs by adding QDockWidgets. These will be automatically threated as QTabWidgets.

示例:

window=QtGui.QMainWindow()
    window.centralContent=QtGui.QMainWindow()

window.setCentralWidget(window.centralContent)

window.centralContent.firstTabWidget=QtGui.QWidget()
window.centralContent.firstTabDock=QtGui.QDockWidget("first")
window.centralContent.firstTabDock.setWidget(window.centralContent.firstTabWidget)
window.centralContent.addDockWidget(window.centralContent.firstTabDock)
 window.centralContent.secondTabWidget=QtGui.QWidget()
window.centralContent.secondTabDock=QtGui.QDockWidget("second")
window.centralContent.secondTabDock.setWidget(window.centralContent.secondTabWidget)
window.centralContent.addDockWidget(window.centralContent.secondTabDock)

window.centralContent.tabifyDockWidget( window.centralContent.firstTabDock, window.centralContent.secondTabDock)