我不熟悉编程和python,所以我提前感谢您的耐心。在
我已经创建了一个类,该类创建了一个新窗口,该窗口的背景是一个测试图像(“test1.gif”)。在
我还在同一个类中创建了一个下拉菜单,允许您在3个国家之间进行选择。在
我可以注释掉生成背景的代码或生成菜单的代码,其他代码将显示出来。但是我希望菜单显示在背景上方。当我运行完整的代码时,我只看到背景。在
我很感激我可能遗漏了一些非常明显的东西,如果有人能指出那是什么。在
谢谢你的时间。 丹
from Tkinter import *
import Tkinter as tk
class dropDown():
def __init__(self, master):
#background set_up
image1 = tk.PhotoImage(file="test1.gif")
w = image1.width()
h = image1.height()
root.geometry("%dx%d+0+0" % (w, h))
panel1 = tk.Label(root, image=image1)
panel1.pack(side='top', fill='both', expand='yes')
# save the panel's image from 'garbage collection'
panel1.image = image1
#Drop down menu
self.var = StringVar(master)
self.var.set('Alaska') # initial value
#Have not used countries list just pasted
self.option = OptionMenu(master, self.var, 'Alberta', 'Australia')
self.option.pack()
root = Tk()
root.title('drop down test')
dropDown(root)
mainloop()
(我认为)您的问题是您将根窗口的大小限制为图像的大小(而不是sizeof(image)+sizeof(menu))。这解决了我在OS-X上的问题
一个附带说明,这将是非常容易让你的下拉框继承框架,然后调整你的框架大小(虽然这可能不是必要的)。然后您可以将这个小部件移动到GUI上的任何位置。在
编辑
子类化框架:
^{pr2}$请注意,现在Tkinter/TK负责为您调整所有帧大小。:)
相关问题 更多 >
编程相关推荐