我正在使用
QTextEdit
来显示一个表格。
当我试图通过使用
setLineWrapMode(qtw.QTextEdit.NoWrap)
来禁用换行时,显示表格需要很多时间。
这是预期的行为吗?我怎样才能减少延迟呢?
最低限度的工作实例
import sys
from PyQt5 import QtWidgets as qtw
from PyQt5 import QtGui as qtg
from PyQt5 import QtCore as qtc
class MainWindow(qtw.QMainWindow):
def __init__(self):
super().__init__()
textedit = qtw.QTextEdit()
textedit.setReadOnly(True)
textedit.setLineWrapMode(qtw.QTextEdit.NoWrap) #Commenting this line removes the delay
headers = ["#", "Name", "Address","Website"]
cursor = textedit.textCursor()
tableFormat = qtg.QTextTableFormat()
table=cursor.insertTable(201, 4, tableFormat)
for header in headers:
cursor.insertText(header)
cell=table.cellAt(cursor)
format = cell.format()
format.setBackground(qtg.QColor("#CCE8FF"))
cell.setFormat(format)
cursor.movePosition(qtg.QTextCursor.NextCell)
for i in range(200):
cursor.insertText(str(i+1))
cursor.movePosition(qtg.QTextCursor.NextCell)
cursor.insertText('David')
cursor.movePosition(qtg.QTextCursor.NextCell)
cursor.insertText('6th Lane, 4th street, 9th state')
cursor.movePosition(qtg.QTextCursor.NextCell)
cursor.insertHtml('<a href="www.google.com">Google</a>')
cursor.movePosition(qtg.QTextCursor.NextCell)
self.setCentralWidget(textedit)
self.show()
if __name__ == '__main__':
app = qtw.QApplication(sys.argv)
mw = MainWindow()
sys.exit(app.exec())