PyQt4 中理想的小部件是啥,我们可以在其中附加文本但在填充文本后无法编辑它?

Posted

技术标签:

【中文标题】PyQt4 中理想的小部件是啥,我们可以在其中附加文本但在填充文本后无法编辑它?【英文标题】:What is the ideal widget in PyQt4 in which we can append text but cannot edit it after the text gets populated?PyQt4 中理想的小部件是什么,我们可以在其中附加文本但在填充文本后无法编辑它? 【发布时间】:2013-12-12 12:55:30 【问题描述】:

我正在使用 Python 开发一个涉及创建用户界面的个人项目。为此,我选择使用 PyQt4。

作为 GUI 代码的一部分,我需要一个小部件,我们可以在其中附加文本,但要求是不允许对其进行编辑。 QtGui.QTextEdit 可以解决附加文本的目的,但不能满足第二个要求。我可以使用什么小部件来满足这两个要求?

谢谢

【问题讨论】:

【参考方案1】:

由谁编辑?

如果您不希望用户可以编辑它,我认为您只需使用 QTextEdit.setReadOnly(True) 将 QTextEdit 设置为只读

如果您不想再次从代码中编辑,我认为您只需要检查控件中是否有一些文本:如果没有,则添加文本,否则返回错误(或任何您需要的)

【讨论】:

谢谢@Gianluca,这正是我想要的。但是,还有其他更适合此目的的小部件吗? 这取决于您显示的文本类型。 QTextEdit 可以显示纯文本和富文本。如果您只需要纯文本,则有一个 QPlainTextEdit 仅用于纯文本如果您只有一行文本,则可以使用 QLineEdit 或 QLabel【参考方案2】:

您可以有两个 TextEdit,一个设置为只读以显示全文,另一个在其下方用于输入文本以附加到上面的一个。

【讨论】:

以上是关于PyQt4 中理想的小部件是啥,我们可以在其中附加文本但在填充文本后无法编辑它?的主要内容,如果未能解决你的问题,请参考以下文章

PyQt4 - 自定义小部件类结构?

使用堆栈的拖动小部件更新所有附加的小部件

内存未释放 - PyQt4

看不到点击意图附加信息的小部件

PyQt4单选框QCheckBox

Android:配置小部件(不同小部件实例的相同 setOnClickPendingIntent 附加功能)