【发布时间】:2021-06-08 00:25:32
【问题描述】:
我知道我们可以使用 Text 方法 .window_create() 在 Text 小部件中添加嵌入式小部件。但是是否可以在此嵌入式小部件上添加其他小部件?
例如,我有一个 Text 小部件,我想在每一行下添加一个 Frame 小部件,并希望将此嵌入式 Frame 小部件用作添加例如用于显示特定文本部分的特征和注释的标签小部件。
我该如何实现,或者有其他方法吗?
下面是一些示例代码:
from tkinter import *
root = Tk()
myText = Text(root)
myText.pack()
text = """ACAACATACGAGCCGGAAGCATAAAG
TGTAAAGCCTGGGGTGCCTAATGAGT
GAGCTAACTCACATTAGGCTGAATTA
GGCGCGCCT"""
mylist = text.splitlines()
for row in range(len(mylist)):
myText.insert('end', mylist[row])
myText.insert("end", '\n')
myText.window_create('end', window=Frame(myText, width=180), stretch=1)
myText.insert("end", '\n')
root.mainloop()
上面的代码会生成这个:
使用上面的示例代码,我如何在这些框架上添加其他小部件(例如标签),以便我可以在文本的某些片段上显示描述。
感谢您的帮助!!
【问题讨论】:
-
向框架添加标签的方式与向任何其他框架添加标签的方式相同。你试过吗?
-
@Bryan Oakley,对不起,Bryan,我不太明白你的意思。在我的示例代码中没有与 Frame 对象关联的变量,如何引用它们?您的意思是类似于@acw1668 在下面发布的答案吗?或者你能分享一个例子吗?谢谢!
-
“在我的示例代码中没有与 Frame 对象关联的变量,如何引用它们?” - 通过将对框架的引用保存在变量。
-
我明白了,谢谢。
标签: python tkinter text widget