下面的代码创建了一个QTextBrowser
,其中填充了5行代码。每行100+
字符长。为了使所有字符(字母)可见,QTextBrowser
在小部件的大小改变后立即重新格式化文本。
尝试拖动小部件的右下角,以查看QTextBrowser
如何不断更新文本以使其保持在视图中。在
from PyQt4 import QtCore, QtGui
app=QtGui.QApplication([])
textBrowser = QtGui.QTextBrowser()
for i in range(5):
textBrowser.insertPlainText('MESSAGE-%04d'%i +'-'*100 + '\n')
textBrowser.show()
app.exec_()
我想知道QListWidget
是否也可以配置为支持“文本自动格式化”功能。下面的代码与上面发布的代码完全相同,除了现在使用QListWidget
来代替{QListWidget
从视图中剪辑额外的字符,并且不做任何操作来重新格式化文本以使其对用户可见。有没有办法改变这种行为?在
下面是使用setItemWidget
将QListWidgetItem
替换为QTextBrowser
的尝试。但不幸的是,结果QTextBrowser
的大小太大了。如果有一种方法可以微调它的大小,它可能是一个解决方案:
from PyQt4 import QtCore, QtGui
app=QtGui.QApplication([])
class TextBrowser(QtGui.QTextBrowser):
def __init__ (self, parent = None):
super(TextBrowser, self).__init__(parent)
listWidget = QtGui.QListWidget()
for i in range(5):
item = QtGui.QListWidgetItem('ITEM-%04d '%i+'-'*100, listWidget)
itemWidget = TextBrowser()
itemWidget.setText('ITEM-%04d '%i+'-'*100)
item.setSizeHint(itemWidget.sizeHint())
listWidget.setItemWidget(item, itemWidget)
listWidget.show()
app.exec_()
目前没有回答
相关问题 更多 >
编程相关推荐