【发布时间】:2010-11-12 07:52:29
【问题描述】:
当 qt4 小部件的内容发生变化时,我遇到了一些关于其大小的问题。
我将用两个简单的场景来说明我的问题:
场景 1:
我有一个 QLineEdit 小部件。有时,当我使用 QLineEdit.setText() 更改其内容时,单行字符串不再适合当前大小的小部件。我必须选择小部件并使用箭头键在两个方向滚动字符串才能看到所有内容。
场景 2:
我有一个 QTextEdit 小部件。有时,当我使用 QTextEdit.setHtml() 更改其内容时,呈现的 HTML 内容不再适合当前大小的小部件。小部件开始显示水平和/或垂直滚动条,我可以使用它们滚动 HTML 内容。
在这种情况下,我想要的是有一些逻辑来决定在内容更改后,新内容是否不再适合小部件并自动增加小部件的大小,以便一切都适合。
如何处理这些场景? 我正在使用 PyQt4。
编辑:在阅读了评论和第一个答案(其中提到在小部件中输入内容)之后,我再次检查了这个问题。发现一个可怕的错字,我感到非常惊讶。当我写 QTextEdit 时,我的意思是 QTextBrowser,我很抱歉误导了你。那就是:我有一个小部件,它呈现我正在更改的 HTML 代码,我希望小部件增长到足以显示所有内容而没有滚动条。
至于 QLineEdit 而不是 QLabel - 我选择了 QLineEdit,因为我注意到我无法用鼠标从 QLabel 中选择文本来复制它。使用 QLineEdit 是可能的。
【问题讨论】:
-
只是想让你知道你的问题没有被忽视......过去一天我一直在思考这个问题,但我想不出一个简单的方法做你要求的。这根本不是您使用的物品的设计目的。它们是输入小部件,旨在允许输入比屏幕上舒适的数据更多的数据。如果您真的想调整当前项目的大小,请尝试在布局内扩展 QLabels。