如何将多个先前形成的列表插入到 QTextWidget 中?
How to insert multiple previously formed lists into QTextWidget?
我想在 QTextEdit 中显示多个列表,但是所有插入文本的函数都只接受字符串。在阅读 QTextEdit 的文档时,它说 QTextCursor 可以处理列表,但是我也无法使其 insertList()
工作。
以下函数生成六个列表,我想显示它们:
def gen_reading_frames(self):
frames = []
frames.append(self.translate_seq(0))
frames.append(self.translate_seq(1))
frames.append(self.translate_seq(2))
tmp_seq = bio_seq(self.reverse_complement(), self.seq_type)
frames.append(tmp_seq.translate_seq(0))
frames.append(tmp_seq.translate_seq(1))
frames.append(tmp_seq.translate_seq(2))
del tmp_seq
return frames
这些是我的方法:
# 1.:
tmp_rf = qtg.QTextListFormat(seq.gen_reading_frames())
self.textEditReadingFrames.insertList(tmp_orf)
# 2.:
tmp_rf = self.textEditReadingFrames.textCursor()
tmp_rf.insertList(seq.gen_reading_frames())
都抛出类型错误,第一个是因为QTextListFormat不接受列表,第二个是因为insertList只接受QTextListFormat。
那么如果这两个都不接受列表,如何在QTextEdit中显示列表呢?
还是我必须将它们转换为字符串,因为没有其他方法?
我希望这个问题没有被问过,但是在搜索论坛和 Qt 文档时我找不到答案。
如果有人需要对此的答案,我将字符串一一插入:
rfs = seq.gen_reading_frames()
for rf in rfs:
self.textEditReadingFrames.append(f'{rf}\n')
del rfs
我想在 QTextEdit 中显示多个列表,但是所有插入文本的函数都只接受字符串。在阅读 QTextEdit 的文档时,它说 QTextCursor 可以处理列表,但是我也无法使其 insertList()
工作。
以下函数生成六个列表,我想显示它们:
def gen_reading_frames(self):
frames = []
frames.append(self.translate_seq(0))
frames.append(self.translate_seq(1))
frames.append(self.translate_seq(2))
tmp_seq = bio_seq(self.reverse_complement(), self.seq_type)
frames.append(tmp_seq.translate_seq(0))
frames.append(tmp_seq.translate_seq(1))
frames.append(tmp_seq.translate_seq(2))
del tmp_seq
return frames
这些是我的方法:
# 1.:
tmp_rf = qtg.QTextListFormat(seq.gen_reading_frames())
self.textEditReadingFrames.insertList(tmp_orf)
# 2.:
tmp_rf = self.textEditReadingFrames.textCursor()
tmp_rf.insertList(seq.gen_reading_frames())
都抛出类型错误,第一个是因为QTextListFormat不接受列表,第二个是因为insertList只接受QTextListFormat。
那么如果这两个都不接受列表,如何在QTextEdit中显示列表呢? 还是我必须将它们转换为字符串,因为没有其他方法?
我希望这个问题没有被问过,但是在搜索论坛和 Qt 文档时我找不到答案。
如果有人需要对此的答案,我将字符串一一插入:
rfs = seq.gen_reading_frames()
for rf in rfs:
self.textEditReadingFrames.append(f'{rf}\n')
del rfs