python - 我怎样才能调整我的按钮大小

标签 python python-2.7 tkinter

尝试让按钮随窗口调整大小时一直头疼。 我尝试了各种各样的方法,但无济于事,我设法让按钮在调整大小时移动位置,但似乎无法将按钮绑定(bind)到屏幕,我只是收到错误。

我已将我的脚本缩小到只有一个函数,以便更容易阅读,如果有人能指出我正确的方向,我将非常感激。

谢谢

#!/usr/bin/python
from Tkinter import*

resizeTest = Tk()
resizeTest.title('Resize Test')
resizeTest.geometry('220x100')
menubar = Menu(resizeTest)
#----------view menu
def normal():
    resizeTest.geometry('220x100')
def enlarge():
    resizeTest.geometry('500x360')

viewMenu = Menu(menubar, tearoff = 0)    
viewMenu.add_command(label="Enlarge                Alt+1", command=enlarge)
viewMenu.add_command(label="Normal                 Alt+2", command=normal)
menubar.add_cascade(label="View", menu=viewMenu)
buttons = Frame(resizeTest, bd=0, width=5, height=1, relief=GROOVE)
buttons.grid(column=0, row=1, padx=1)    
numbers=["7", "4", "1", "8", "5", "2", "9", "6", "3"]
for index in range(9):
    n=numbers[index]
    Button(buttons, bg="White", text=n,width=5,height=1, relief=GROOVE).grid(padx=2,pady=2, row=index%3,column=index/3) 
resizeTest.config(menu=menubar)
resizeTest.mainloop()

最佳答案

你尝试过这样的事情吗?添加一个函数来创建带有宽度和高度参数的按钮,可以在调整大小函数中调用,以设置按钮以匹配窗口大小。不完全自动绑定(bind),但它可以工作。

#!/usr/bin/python
from Tkinter import*

resizeTest = Tk()
resizeTest.title('Resize Test')
resizeTest.geometry('220x100')
menubar = Menu(resizeTest)
#----------view menu
def normal():
    buttons.grid_forget()
    resizeTest.geometry('220x100')
    add_buttons(5, 1)
def enlarge():
    buttons.grid_forget()
    resizeTest.geometry('500x360')
    add_buttons(18, 6)

def add_buttons(w,h):
    global buttons
    buttons = Frame(resizeTest, bd=0, relief=GROOVE)
    buttons.grid(column=0, row=1, padx=1) 
    numbers=["7", "4", "1", "8", "5", "2", "9", "6", "3"]
    for index in range(9):
        n=numbers[index]
        Button(buttons, bg="White", text=n, width=w, height=h, relief=GROOVE).grid(padx=2,pady=2, row=index%3,column=index/3)   

viewMenu = Menu(menubar, tearoff = 0)    
viewMenu.add_command(label="Enlarge                Alt+1", command=enlarge)
viewMenu.add_command(label="Normal                 Alt+2", command=normal)
menubar.add_cascade(label="View", menu=viewMenu)
add_buttons(5, 1)
resizeTest.config(menu=menubar)
resizeTest.mainloop()

关于python - 我怎样才能调整我的按钮大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21690628/

相关文章:

python - 连接信号时为什么要使用不同的方法而不是直接的方法?

python - 将新数据附加到数据框

python - Matplotlib 通过颜色或形状区分均值和中值

python - 如何获得 tkinter 按钮的大小?

python - 将 tKinter Askdirectory() 与 glob 一起使用

python - web2py中输入时间

python : choose only users that have purchased more than x element

python - htmlparse 无法清除 <style>

python 杂货店

python - Python 2.7 中的 Tkinter ProgressBar 和 Os.Walk