我正在使用 PyQGIS 和 PyQt5 为 QGIS 构建一个插件。我想使用多个窗口。单击按钮后,应打开一个新窗口。理想情况下,它应该与窗口 1 重叠。在窗口 2 中编辑后,它应该回到窗口 1。
我之前的代码是这样的:
class MainWindow(QDialog):
def __init__(self):
super(MainWindow, self).__init__()
loadUi(r"test1.ui", self)
self.button.clicked.connect(self.gotoScreen2)
def gotoScreen2(self):
screen2=Screen2()
widget.addWidget(screen2)
widget.setCurrentIndex(widget.currentIndex()+1)
class Screen2(QDialog):
def __init__(self):
super(Screen2,self).__init__()
loadUi(r"test2.ui", self)
self.pushButton.clicked.connect(self.gotoScreen1)
def gotoScreen1(self):
mainwindow = MainWindow()
widget.addWidget(mainwindow)
widget.setCurrentIndex(widget.currentIndex()+1)
#main
app = QApplication(sys.argv)
widget = QtWidgets.QStackedWidget()
mainwindow = MainWindow()
widget.addWidget(mainwindow)
widget.show()
在此基础上,我希望插件窗口停靠在程序的右侧。我知道QDockWidget类和addDockWidget (QtCore.Qt.RightDockWidgetArea,...)是可能的。但是如何将这些类内置到我的脚本中?