PySide6 新(建)窗口 简单示例
PySide6 记事本 新(建)窗口 自己调用自己
核心知识
新建窗口其实就是自己调用自己。
注意
需要解决Python
的自动回收,将实例化的窗口转为属性!
代码示例
# coding = utf-8from PySide6.QtWidgets import QWidget,QVBoxLayout,QPlainTextEdit,QPushButton,QApplication
import sysclass MyNote(QWidget):def __init__(self):super().__init__()self.setupUi()self.setEventBind()def setupUi(self):self.setWindowTitle("新窗口测试")# 添加控件plainTextEdit = QPlainTextEdit()self.newWindowButton = QPushButton("新窗口")# 放入布局管理器vboxLayout = QVBoxLayout(self)vboxLayout.addWidget(plainTextEdit)vboxLayout.addWidget(self.newWindowButton)def setEventBind(self):"""设置事件绑定"""self.newWindowButton.clicked.connect(self.getNewWindow)def getNewWindow(self):"""获取新窗口"""self.newWindow = MyNote()self.newWindow.show()if __name__ == "__main__":app = QApplication(sys.argv)myNote = MyNote()myNote.show()sys.exit(app.exec())
错误示例
不设置为属性的话 会被Python
的回收机制回收 => 导致不显示新窗口。
def getNewWindow(self):"""获取新窗口"""newWindow = MyNote()newWindow.show()
效果演示