【发布时间】:2014-06-25 22:32:27
【问题描述】:
我有以下界面:3 个帧,其中 2 个在左侧,frame1 和 frame2,另一个在右侧,frame3。
我想创建另一个框架frame4,它的标签为Output,在它下面应该有一个列表框。我希望这两个小部件都跨越之前的帧,每个都通过使用 grid 管理器放置在一个单元格中。
我也不确定 Listbox 是否是我应该使用的小部件。我想要一些包含我将通过我的应用程序运行的程序的输出的东西。我也想到了Entry,但我需要一些可以显示多行的东西。
这是我目前的代码:
from Tkinter import *
root = Tk()
frame1 = Frame(root)
frame1.grid(row=0,column=0)
frame2 = Frame(root)
frame2.grid(row=1,column=0)
frame3 = Frame(root)
frame3.grid(row=0,column=1)
frame4 = Frame(root)
frame4.grid(row=2,columnspan=2)
l5 = Label(frame4, text='Output:').grid(row=2,columnspan=2)
output = Listbox(frame4, height=5)
#output.grid(row=2,column=0,columnspan=2)
#output.pack(side=LEFT, fill=BOTH, expand=1)
root.mainloop()
我设法让标签跨越其他框架,但是当我取消最后两行中的任何一行时,界面没有打开,程序就冻结了。
我该如何解决这个问题?
【问题讨论】:
-
您不应该混合使用包和网格布局管理器。
-
@Marcin:我一次只尝试了一个选项,而不是同时尝试了两个选项。
标签: python listbox tkinter widget