ptqt5 由旧窗口打开新窗口,使用新窗口改变旧窗口的textEdit值
时间: 2023-07-20 20:10:48 浏览: 88
pyqt5 textEdit、lineEdit操作的示例代码
如果你想在一个旧窗口中打开一个新窗口,并在新窗口中修改旧窗口中的TextEdit值,可以使用以下步骤:
1. 在旧窗口中,定义一个方法用于打开新窗口:
```python
class OldWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.textEdit = QTextEdit(self)
self.button = QPushButton('Open New Window', self)
self.button.clicked.connect(self.openNewWindow)
def openNewWindow(self):
self.newWindow = NewWindow(self)
self.newWindow.show()
```
在这个方法中,创建一个新窗口的实例,并调用show()方法来显示新窗口。
2. 在新窗口中,定义一个方法用于修改旧窗口的TextEdit值:
```python
class NewWindow(QWidget):
def __init__(self, parent):
super().__init__(parent)
self.initUI()
def initUI(self):
self.textEdit = QTextEdit(self)
self.button = QPushButton('Update Old Window', self)
self.button.clicked.connect(self.updateOldWindow)
def updateOldWindow(self):
oldWindow = self.parent()
oldWindow.textEdit.setPlainText(self.textEdit.toPlainText())
self.close()
```
在这个方法中,获取旧窗口的实例,并使用setPlainText()方法将TextEdit的值更新为新窗口中的值。最后调用close()方法来关闭新窗口。
3. 在主程序中创建旧窗口的实例并显示:
```python
if __name__ == '__main__':
app = QApplication(sys.argv)
oldWindow = OldWindow()
oldWindow.show()
sys.exit(app.exec_())
```
这样,当在旧窗口中点击"Open New Window"按钮时,会打开一个新窗口。在新窗口中修改TextEdit的值后,点击"Update Old Window"按钮,新窗口会关闭,并将TextEdit的值更新为新窗口中的值。
阅读全文