我使用的Python 2.6和随带的标准Tkinter的重新设计布局的接口。 麻烦的是,我注意到一些奇怪的行为,我是新来的Tkinter所以这可能只是简单的东西我可以俯瞰由于缺乏经验。
这里是我如何才能获得所需的布局筑巢主框架内的帧的一些示例代码:
import Tkinter as tk
root = tk.Tk()
master = tk.Frame(root)
frame = tk.Frame(master).grid(sticky = tk.W)
item1 = "Label One"
L1 = tk.Label(frame, text = item1).grid(sticky = tk.W)
b1 = tk.Button(frame, text = "Button 1").grid(sticky = tk.W)
find = tk.Label(frame, text = "Find").grid(sticky = tk.W)
item = tk.Entry(frame, width = 50).grid(sticky = tk.W)
##item.insert(0,"Enter Item to Search For")
L2 = tk.Label(frame, text = "Label Two").grid(sticky = tk.W)
search = tk.Button(frame, text = "Search").grid(row = 3, column = 0)
frame2 = tk.Frame(master).grid(sticky = tk.W)
list1 = tk.Listbox(frame2, width = 100).grid(sticky = tk.W)
##yscroll = tk.Scrollbar(frame2,orient = tk.VERTICAL,command = list1.yview).grid(row = 5, column = 1, sticky = tk.N + tk.S + tk.W)
yscroll = tk.Scrollbar(frame2, orient = tk.VERTICAL).grid(row = 5, column = 1, sticky = tk.N + tk.S + tk.W)
##list1.configure(yscrollcommand = yscroll.set)
##xscroll = tk.Scrollbar(frame2, orient = tk.HORIZONTAL, command = list1.xview).grid(sticky = tk.W + tk.E)
xscroll = tk.Scrollbar(frame2, orient = tk.HORIZONTAL).grid(sticky = tk.W + tk.E)
##list1.configure(xscrollcommand = xscroll.set)
root.mainloop()
当我尝试插入在录入组件的默认值,以及它的工作之前,我开始嵌套帧,就会出现此以下错误:
Traceback (most recent call last):
File "H:\Tkinter\Grid.py", line 17, in <module>
item.insert(0,"Enter Item to Search For")
AttributeError: 'NoneType' object has no attribute 'insert'
上例code.These全部注释掉线发生Similiar错误是我需要会借此,因为当前的滚动条行不通的,因为我不能告诉他们滚动时更改列表的操作。
1.当你窝帧这样做我访问以不同的方式在小部件的变量?
2.当我使用嵌套的框架和两个孩子和家长使用的是网格,为什么我的小部件放置对应于刚大师的行和列数? 如果你看一下Y轴滚动条线路我不得不这样做行= 5,主的山坳= 1。 我认为它应该是排0,帧2的第1栏,这是因为小部件都有家长设置为帧2,我想帧2使用网格为好,但它似乎使用主框架网格。
3.Is能够显示在不同帧中的网格线?