Qt Creator在窗口一添加一个行编辑器和按钮,在窗口二添加一个标签,点击按钮会收集行编辑器中的文本,将其设置为标签的文本并关闭窗口一
时间: 2024-02-13 15:01:15 浏览: 133
Qt_Creator实现文本编辑
可以通过以下步骤实现:
1. 在窗口一中,创建一个 QLineEdit 对象和一个 QPushButton 对象并将它们添加到布局中。
2. 在窗口一的代码中,连接 QPushButton 的 clicked 信号到一个槽函数中,该槽函数将获取 QLineEdit 的文本并将其传递给窗口二。
3. 在窗口二中,创建一个 QLabel 对象并将其添加到布局中。
4. 在窗口二的代码中,创建一个槽函数来接收来自窗口一的文本,并将其设置为 QLabel 的文本。然后关闭窗口一。
下面是一个示例代码:
```python
# 窗口一
class Window1(QWidget):
def __init__(self):
super().__init__()
# 创建一个 QLineEdit 和一个 QPushButton 对象
self.line_edit = QLineEdit(self)
self.button = QPushButton("Submit", self)
# 将 QLineEdit 和 QPushButton 添加到布局中
layout = QVBoxLayout(self)
layout.addWidget(self.line_edit)
layout.addWidget(self.button)
# 将 QPushButton 的 clicked 信号连接到槽函数 on_button_clicked
self.button.clicked.connect(self.on_button_clicked)
def on_button_clicked(self):
# 将文本传递给窗口二
window2.update_label(self.line_edit.text())
self.close()
# 窗口二
class Window2(QWidget):
def __init__(self):
super().__init__()
# 创建一个 QLabel 对象
self.label = QLabel(self)
# 将 QLabel 添加到布局中
layout = QVBoxLayout(self)
layout.addWidget(self.label)
def update_label(self, text):
# 将文本设置为 QLabel 的文本
self.label.setText(text)
# 主程序
app = QApplication(sys.argv)
window1 = Window1()
window1.show()
window2 = Window2()
window2.show()
sys.exit(app.exec_())
```
这样,当用户在窗口一的 QLineEdit 中输入文本并点击按钮时,该文本将传递给窗口二的 QLabel 中。同时,窗口一将关闭。
阅读全文