pyqt : 쌓인 qdockwidgets의 측면에 도킹
나는 멀티 도킹 창을 만들었습니다. 그렇게하기 위해 중앙 위젯을 숨기고 그것을 얻습니다. 그러나 나는 문제가있다. 도킹 위젯이 다른 위젯 위에 놓여 있다면, 그 위젯을 도킹 할 수 없습니다. 위의 그림에서 볼 수 있듯이, 나는 단지 부두 사이에 도킹해야합니다. 어떻게 조정할 수 있습니까? 그것이 내 모든 코드입니다. centralWidget
하나의 dockWidgetArea
없이
from PyQt4 import QtCore, QtGui
class Window(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.resize(800, 600)
self.setWindowTitle(QtGui.QApplication.translate("self", "self", None, QtGui.QApplication.UnicodeUTF8))
self.setDockOptions(QtGui.QMainWindow.AnimatedDocks)
self.centralwidget = QtGui.QWidget(self)
self.centralwidget.hide()
self.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(self)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
self.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(self)
self.setStatusBar(self.statusbar)
self.dock1Widget = QtGui.QDockWidget(self)
self.dock1Widget.setFeatures(QtGui.QDockWidget.AllDockWidgetFeatures)
self.dock1Widget.setWindowTitle(QtGui.QApplication.translate("self", "dock1", None, QtGui.QApplication.UnicodeUTF8))
self.dock1WidgetContents = QtGui.QWidget()
self.dock1Widget.setWidget(self.dock1WidgetContents)
self.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dock1Widget)
self.dock2Widget = QtGui.QDockWidget(self)
self.dock2Widget.setFeatures(QtGui.QDockWidget.AllDockWidgetFeatures)
self.dock2Widget.setWindowTitle(QtGui.QApplication.translate("self", "dock2", None, QtGui.QApplication.UnicodeUTF8))
self.dock2WidgetContents = QtGui.QWidget()
self.dock2Widget.setWidget(self.dock2WidgetContents)
self.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dock2Widget)
self.dock3Widget = QtGui.QDockWidget(self)
self.dock3Widget.setFeatures(QtGui.QDockWidget.AllDockWidgetFeatures)
self.dock3Widget.setWindowTitle(QtGui.QApplication.translate("self", "dock3", None, QtGui.QApplication.UnicodeUTF8))
self.dock3WidgetContents = QtGui.QWidget()
self.dock3Widget.setWidget(self.dock3WidgetContents)
self.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dock3Widget)
self.dock4Widget = QtGui.QDockWidget(self)
self.dock4Widget.setFeatures(QtGui.QDockWidget.AllDockWidgetFeatures)
self.dock4Widget.setWindowTitle(QtGui.QApplication.translate("self", "dock4", None, QtGui.QApplication.UnicodeUTF8))
self.dock4WidgetContents = QtGui.QWidget()
self.dock4Widget.setWidget(self.dock4WidgetContents)
self.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dock4Widget)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
app.exec_()
조언 해 주셔서 감사합니다. 내가 추천 한대로, 나는 내 코드를 다시 썼다. :) –