我拼命想找到一个似乎很简单的问题的答案。所以,我有我的主代码,它是一个有QTextEdit
的UI,我想把字符数限制在140个。在我看来,最好的方法是重新实现keyPressEvent
和KeyReleaseEvent
函数
为此,我正在使用自定义文本编辑小部件创建一个类:
class CustomTextEdit(QtWidgets.QTextEdit):
def keyPressEvent(self, event, text):
if len(text) > 140:
return
else:
self.setText(text)
我不需要在这里举办活动。我只需要传递一个参数,它将保存文本编辑器中已经编写的文本。但是,当我试图创建一个QEditText
并通过在主UI中说:
self.text_edit = QtWidgets.CustomTextEdit()
self.text_edit.keyPressEvent(self.text_edit.toPlainText())
程序理解它就好像我在传递一个QKeyEvent
事件一样,当然它说它没有长度
我做错什么了?如何传递事件和参数?有可能吗
我一直在读一个类似问题的答案,但仍然没有得到答案。求求你,救命
keyPressEvent
只能接受两个参数:self
和event
(根据需要命名)。要访问已经在编辑器中编写的文本,可以在接受带有event.accept()
的事件之前使用self.toPlainText()
。因此,对于将字符数限制为140的情况,我建议采用以下解决方法:相关问题 更多 >
编程相关推荐