ptqt5 在新窗口改变旧窗口的textEdit值
时间: 2024-02-11 17:09:47 浏览: 26
如果你想在一个窗口中改变另一个窗口的TextEdit值,可以使用信号与槽机制来实现。具体步骤如下:
1. 在第一个窗口中,定义一个信号,用于传递TextEdit的值:
```python
class Window1(QWidget):
textChanged = pyqtSignal(str) # 定义信号
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.textEdit = QTextEdit(self)
self.textEdit.textChanged.connect(self.onTextChanged)
def onTextChanged(self):
self.textChanged.emit(self.textEdit.toPlainText()) # 发送信号,传递TextEdit的值
```
2. 在第二个窗口中,定义一个槽函数,用于接收信号,并将TextEdit的值更新:
```python
class Window2(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.textEdit = QTextEdit(self)
def updateTextEdit(self, text):
self.textEdit.setPlainText(text) # 接收信号,并更新TextEdit的值
```
3. 在主程序中,创建两个窗口实例,并连接信号与槽:
```python
if __name__ == '__main__':
app = QApplication(sys.argv)
window1 = Window1()
window2 = Window2()
window1.textChanged.connect(window2.updateTextEdit) # 连接信号与槽
window1.show()
window2.show()
sys.exit(app.exec_())
```
这样,当第一个窗口中的TextEdit的值发生改变时,就会发送信号并传递TextEdit的值,第二个窗口中的槽函数会接收到这个信号,并将TextEdit的值更新。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)