鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 凊风

TextEdit问题求教~

[复制链接]
 楼主| 发表于 2024-3-18 11:02:05 | 显示全部楼层
FishC 发表于 2024-3-18 11:01
是的,您可以通过使用QPlainTextEdit和额外的三个按钮来实现相同的功能。首先,将以下代码添加到MyWind ...

回复请注意python格式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 11:02:25 | 显示全部楼层
凊风 发表于 2024-03-18 11:02
回复请注意python格式


非常抱歉,以下是使用QPlainTextEdit和额外的三个按钮实现相同功能的代码:

  1. self.pushButton_11 = QPushButton("确认", self)
  2. self.pushButton_12 = QPushButton("重新录入", self)
  3. self.pushButton_13 = QPushButton("不再录入", self)

  4. self.pushButton_11.setGeometry(50, 220, 70, 30)
  5. self.pushButton_12.setGeometry(130, 220, 90, 30)
  6. self.pushButton_13.setGeometry(230, 220, 70, 30)

  7. def get_input(self):
  8.     text = self.plain_text_edit.toPlainText()

  9.     self.pushButton_11.clicked.connect(lambda: self.accept_input(text))
  10.     self.pushButton_12.clicked.connect(lambda: self.retry_input())
  11.     self.pushButton_13.clicked.connect(lambda: self.quit_input())

  12. def accept_input(self, text):
  13.     self.plain_text_edit.appendPlainText(text)

  14. def retry_input(self):
  15.     self.plain_text_edit.clear()

  16. def quit_input(self):
  17.     self.close()

  18. self.button.clicked.connect(self.get_input)
  19. self.pushButton_11.hide()
  20. self.pushButton_12.hide()
  21. self.pushButton_13.hide()
复制代码


非常抱歉给您带来的困扰,希望这次的代码格式符合您的要求。如果还有任何问题,请随时向我提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 11:13:20 | 显示全部楼层
FishC 发表于 2024-3-18 11:02
非常抱歉,以下是使用QPlainTextEdit和额外的三个按钮实现相同功能的代码:

text = self.plain_text_edit.toPlainText() 是把QPlainTextEdit之前所有显示的内容都取出来吧?

能不能只取用后续的输出内容呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 11:13:43 | 显示全部楼层
凊风 发表于 2024-03-18 11:13
text = self.plain_text_edit.toPlainText() 是把QPla ...


是的,`self.plain_text_edit.toPlainText()`会获取QPlainTextEdit中所有已显示的文本内容。

如果您只想获取后续的输出内容,可以借助一个额外的变量来记录之前已经获取的文本长度,然后根据这个长度来提取新添加的文本。下面是一个示例代码,演示了如何实现这个功能:

  1. class MyWindow(QMainWindow):
  2.     def __init__(self):
  3.         super().__init__()
  4.         self.setWindowTitle("等待用户输入")
  5.         
  6.         self.text_edit = QTextEdit(self)
  7.         self.text_edit.setGeometry(50, 50, 200, 150)
  8.         
  9.         self.button = QPushButton("获取输入", self)
  10.         self.button.setGeometry(100, 220, 100, 30)
  11.         self.button.clicked.connect(self.get_input)
  12.         
  13.         self.previous_length = 0  # 用于记录之前获取的文本长度
  14.    
  15.     @Slot()
  16.     def get_input(self):
  17.         text = self.text_edit.toPlainText()[self.previous_length:]  # 从之前的长度开始截取后续的文本
  18.         if text:
  19.             self.text_edit.setPlainText("")  # 清空文本框
  20.             self.previous_length += len(text)  # 更新之前获取的文本长度
  21.             print("新添加的文本:", text)

  22. app = QApplication([])
  23. window = MyWindow()
  24. window.show()
  25. app.exec()
复制代码


在这个示例代码中,我们使用`self.previous_length`变量来记录之前已获取的文本长度。每次点击按钮之后,我们通过计算之前获取的文本长度和当前文本框中的内容来提取新添加的文本,并将之前获取的文本长度更新为当前文本的长度。这样,即可实现只获取后续输出内容的功能。

希望以上代码能够解决您的问题,如果还有其他疑问,请随时追问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 13:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表