Tkinter按钮调整大小

时间:2017-01-18 15:11:21

标签: python tkinter tk

this我发现了如何调整按钮的大小,所以我尝试执行此代码。

from tkinter import * 
selection_window = Tk()
selection_window.wm_title("")
selection_window.geometry('{}x{}'.format(200, 150))
frame_1 = Frame(selection_window, width=200, height=30)
Button(frame_1, text="Single",height = 100).pack(side=LEFT,anchor=S)
Button(frame_1,text="Range",command=Toplevel,height = 20).pack(side=RIGHT,anchor=S)
frame_1.pack()
selection_window.mainloop()

但是按钮的大小没有改变,而是按钮转到了窗口的中心。有人可以告诉我为什么会出现这个问题?

screenshot

1 个答案:

答案 0 :(得分:2)

按钮高度 如果您注意到,frame_1的高度为30,按钮的高度为100和20.一个按钮的高度明显高于frame_1。因此,如果您最大化tk窗口,您将看到按钮的高度差异。或者,尝试将一个按钮高度设置为10,将另一个高度设置为2,然后重新运行脚本,以查看高度差异。结论,按钮高度可以改变。

按钮横向放置 可以使用pack系统的 padx = [x_left,x_right] 选项来控制按钮的横向放置。 x_left x_right 表示与按钮的父亲相关的按钮两侧留下的水平外部填充。您可以阅读Tk documentation以获得有关Packer算法的更清晰的解释。

from tkinter import * 
selection_window = Tk()
selection_window.wm_title("")
selection_window.geometry('{}x{}'.format(200, 150))
frame_1 = Frame(selection_window, width=200, height=30)
frame_1.pack()
Button(frame_1, text="Single",height = 10).pack(side=LEFT, anchor=S, padx=[0,40])
Button(frame_1,text="Range",command=Toplevel,height = 2).pack(side=RIGHT, anchor=S, padx=[20,0])
selection_window.mainloop()

高度: Height 展示位置: Placement

第2部分: 根据下面的评论,请在脚本下方运行以查看是否可以使用'非默认值'来更改ttk.Button高度。样式主题并在评论部分发布您的发现。它适用于我的Ubuntu。

from tkinter import *
import tkinter.ttk as ttk
s=ttk.Style()
print('Style themes on my system are ', s.theme_names())
s.theme_use('clam')
s.configure('bb.TButton', background='white', padding=50)
b1=ttk.Button(text='Default')
b1.pack(side=LEFT, anchor=S, padx=[0,40])
b2=ttk.Button(text='Custom', style='bb.TButton')
b2.pack(side=RIGHT, anchor=S, padx=[20,0])

<强>填充= 1 padding=1填充= 40 padding=40