为什么,当我运行此代码时,按钮不会跨越对话框的整个宽度

时间:2015-11-15 16:27:03

标签: python tkinter

代码:http://pastebin.com/nXqFT7wz

import tkinter as tk
import tkinter.messagebox


def mbox(title, text):
    tk.messagebox.showinfo(title, text)


def calculate():
    num1 = num_1.get()
    num2 = num_2.get()
    total = int(num1) + int(num2)
    mbox("Your total is: ", total)

root = tk.Tk()

label_1 = tk.Label(root, text="First Number")
label_2 = tk.Label(root, text="Second Number")
num_1 = tk.Entry(root)
num_2 = tk.Entry(root)
button_1 = tk.Button(root, text="Login", command=calculate)

label_1.grid(row=0)
label_2.grid(row=1)

num_1.grid(row=0, column=1)
num_2.grid(row=1, column=1)

button_1.grid(row=2, columnspan=2)

root.geometry("218x70")
root.resizable(0, 0)
root.title("Adder")

root.mainloop()

为什么,当我运行它时,按钮不是窗口中使用的两列宽度?从理论上讲,按钮应该是标签的宽度和条目(两列),但它只是在对话框中居中显示。

2 个答案:

答案 0 :(得分:0)

使用stick调整小部件

button_1.grid(row=2, columnspan=2, stick="WE")

enter image description here

答案 1 :(得分:0)

您需要使用xticky选项,告诉小部件"坚持"到分配给它的空间的两侧。如果您希望它一直填充到左侧和右侧,请使用"ew"(东/西):

button_1.grid(..., sticky="ew")