【发布时间】:2013-06-20 11:13:42
【问题描述】:
我是 python 新手,所以请原谅我的菜鸟。我试图在我的应用程序窗口底部创建一个状态栏,但似乎每次我在同一个文件中同时使用 pack() 和 grid() 方法时,主应用程序窗口都不会打开。当我注释掉 statusbar.pack(side = BOTTOM, fill = X) 的行时,我的应用程序窗口打开得很好,但是如果我把它留在里面,并且如果我注释掉任何使用 grid 方法的行带有状态栏的窗口打开。似乎我只能使用 pack() 或 grid() 但不能同时使用。我知道我应该能够同时使用这两种方法。有什么建议?代码如下:
from Tkinter import *
import tkMessageBox
def Quit():
answer = tkMessageBox.askokcancel('Quit', 'Are you sure?')
if answer:
app.destroy()
app = Tk()
app.geometry('700x500+400+200')
app.title('Title')
label_1 = Label(text = "Enter number")
label_1.grid(row = 0, column = 0)
text_box1 = DoubleVar()
input1 = Entry(app, textvariable = text_box1)
input1.grid(row = 0, column = 2)
statusbar = Label(app, text = "", bd = 1, relief = SUNKEN, anchor = W)
statusbar.pack(side = BOTTOM, fill = X)
startButton = Button(app, text = "Start", command = StoreValues).grid(row = 9, column = 2, padx = 15, pady = 15)
app.mainloop()
感谢任何帮助!谢谢!
【问题讨论】:
-
并不是说不可能,但给出的常见建议是选择一个。
-
我只使用两者,因为我不知道如何使用网格将状态栏放在屏幕底部,我也不知道如何使用网格函数填充 = X。
-
@Jared:您的评论具有误导性。出于所有意图和目的,这是不可能的。