我想知道是否可以将函数的输出重定向到ttk笔记本小部件中的选项卡。
我认为它类似于您刚刚使用listbox.insert
的列表框小部件,但我无法让它工作。
如果这是一个简单的问题,我很抱歉,但我真的很难过,我无法在网上找到任何有用的资料来帮助我。
提前致谢
我正在使用python 3.3
答案 0 :(得分:2)
Insert函数的工作方式几乎相同,唯一的区别是它取一个字符串占用一帧。 Add更简单,你不需要指定一个索引,只是将它添加到最后。您需要做的就是创建一个框架,将Text元素打包到其中,然后将整个内容打包到笔记本中。它看起来像这样
noteb = ttk.Notebook( root, width=500, height=300 )
frame1 = tkinter.Frame( noteb )
textbox = tkinter.Text( frame1, put whatever you want to put here )
frame1.pack( expand=1, fill='both' )
noteb.add( frame1, whatever parameters you want )
noteb.pack( expand=1, fill='both' )
然后,您应该可以直接更改文本框中的文本。
答案 1 :(得分:1)
在某种程度上取决于您使用哪种类型的小部件作为标签,但基本上它不应该是非常不同的。只需跟踪您的标签小部件并调用相应的方法。
带有两个文本标签的示例:
from Tkinter import *
from ttk import Notebook
def addText(tab):
tab.insert(END, "foo! ")
root = Tk()
nb = Notebook(root, height=240, width=480)
tabs = {"foo": [], "bar": []}
for tabname in tabs:
tab = Text(nb)
tabs[tabname] = tab
nb.add(tab, text= tabname)
nb.pack()
Button(root, text= "Add text!", command = lambda: addText(tabs["foo"])).pack()
root.mainloop()
点击“添加文字!”按钮会将一些文本附加到第一个选项卡。