|
发表于 2024-3-18 09:38:57
|
显示全部楼层
如果您想实现用户录入后先提示所录入的内容,并在用户按下确认按钮后才将其追加到 QTextEdit 中,同时要求用户如果选择取消则重新录入,您可以尝试以下代码:
- from PySide6.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QInputDialog, QMessageBox
- from PySide6.QtCore import Qt, Slot
- class MyWindow(QMainWindow):
- def __init__(self):
- super().__init__()
- self.setWindowTitle("等待用户输入")
- self.text_edit = QTextEdit(self)
- self.text_edit.setGeometry(50, 50, 200, 150)
-
- self.button = QPushButton("获取输入", self)
- self.button.setGeometry(100, 220, 100, 30)
- self.button.clicked.connect(self.get_input)
- @Slot()
- def get_input(self):
- while True:
- text, ok = QInputDialog.getText(self, "输入对话框", "请输入内容:")
- if not ok:
- break
- if text:
- msg_box = QMessageBox()
- msg_box.setText(f"您输入的内容是: {text}")
- msg_box.addButton("确认", QMessageBox.AcceptRole)
- msg_box.addButton("重新录入", QMessageBox.RejectRole)
- result = msg_box.exec_()
- if result == QMessageBox.Accepted:
- self.text_edit.append(text)
- break
- app = QApplication([])
- window = MyWindow()
- window.show()
- app.exec()
复制代码
在上述代码中,我们引入了 `QMessageBox` 对话框来展示用户所输入的内容,并提供“确认”和“重新录入”两个按钮。用户在输入后,会显示一个消息框,根据用户的选择来决定是否将输入的内容追加到 QTextEdit 中。如果用户选择“确认”,则将文本内容追加至 QTextEdit,并跳出循环;如果用户选择“重新录入”或关闭对话框,则继续弹出输入框。希望这次的回答能够满足您的需求,如有其他问题,请随时向我提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|