我在理解Qt中文本光标和QTextEdit小部件之间的正确关系时遇到了很多困难。它们最好被视为在特定方法中创建和使用的临时构造吗?现在,我使用cursor = self.textCursor()
在方法中创建游标。我以编程方式使用光标,然后使用self.setTextCursor(cursor)
将结果分配给窗口小部件。有时虽然我想知道当前是否有选择,cursor
作为未定义变量失败。当然,我可以事先使用cursor = self.textCursor()
。但是,我想知道是否所有QTextEdit小部件都应该有一个永久性游标,例如self.cursor = QtextCursor()
,它作为对象的一部分存在于方法调用之间?作为Python,面向对象编程和Qt的新手,这是何时使用self
创建对象属性以及何时创建局部变量的更大问题的一部分。到目前为止,每当我感觉到创建全局变量的诱惑时,我都倾向于创建对象属性。所以,我的问题是如何最好地定义文本游标,这是否遵循用Qt和Python编程的整体理念?