Python 3.x 将tkinter按钮排成一行
我想将我的按钮放置在一个相邻的原始位置,但当我设置行相同和更改列时,它们彼此放置得太远。我尝试删除网格并添加Python 3.x 将tkinter按钮排成一行,python-3.x,tkinter,button,Python 3.x,Tkinter,Button,我想将我的按钮放置在一个相邻的原始位置,但当我设置行相同和更改列时,它们彼此放置得太远。我尝试删除网格并添加pack(),但再次失败。更改pady对我也没有帮助。我该怎么办 import tkinter as tk from tkinter import filedialog root = tk.Tk() root.geometry("810x490") root.configure(background='#DCDCDC') root.title('Hossein Fa
pack()
,但再次失败。更改pady
对我也没有帮助。我该怎么办
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.geometry("810x490")
root.configure(background='#DCDCDC')
root.title('Hossein Fallah')
def getText():
output_text.delete("1.0","end")
result=input_text.get("1.0","end")
output_text.insert(tk.END,result)
return result
def textClear():
output_text.delete("1.0","end")
input_text.delete("1.0","end")
def fileDialog():
filename = filedialog.askopenfilename(initialdir = "/", title = "Select A File", filetype =
(("text files","*.txt"),("all files","*.*")) )
# first text wiget
input_text=tk.Text(root, height=10,width=100,bd=5)
input_text.grid(row = 1, column = 0, pady = 2)
#BTNs
btnRead=tk.Button(root, height=1, width=20, text="ثبت",relief='flat',overrelief='groove',
command=getText)
btnRead.grid(row = 2, column = 0, pady = 2)
btnClear=tk.Button(root, height=1, width=20, text="پاک کردن",relief='flat',overrelief='groove',
command=textClear)
btnClear.grid(row = 3, column = 0, pady = 2)
btnFind =tk.Button(root, height=1, width=20,text = "پیدا کردن فایل",relief='flat',overrelief='groove',
command =fileDialog)
btnFind.grid(row = 4, column = 0, pady = 2)
#out text
output_text=tk.Text(root, height=10,width=100,bd=5)
output_text.grid(row = 6, column = 0, pady = 2)
output_text.insert(tk.END,getText())
root.mainloop()
您要查找的是
grid()
的列span
选项。首先,从删除窗口中的自定义几何图形开始。之后,将所有小部件放在同一行不同的列中,如:
btnRead=tk.Button(root, height=1, width=20, text="ثبت",relief='flat',overrelief='groove', command=getText)
btnRead.grid(row=2, column=0, pady=2)
btnClear=tk.Button(root, height=1, width=20, text="پاک کردن",relief='flat',overrelief='groove',command=textClear)
btnClear.grid(row=2, column=1, pady=2)
btnFind =tk.Button(root, height=1, width=20,text = "پیدا کردن فایل",relief='flat',overrelief='groove',command =fileDialog)
btnFind.grid(row=2, column=2, pady=2)
现在将columnspan
选项添加到Text
小部件中,如:
input_text=tk.Text(root, height=10,width=100,bd=5)
input_text.grid(row=1, column=0, pady=2, columnspan=3)
output_text=tk.Text(root, height=10,width=100,bd=5)
output_text.grid(row=6, column=0, pady=2, columnspan=3)
columnspan=n
所做的是,它将为配置的小部件所在的单列的整个宽度的spann
列腾出空间。如果您习惯于excel,您可以很容易地想象这一点,如下所示:
关于你所说的它们被放置得很远的原因?正确使用
grid()
是您的最佳选择。无法控制每个网格之间的距离button@hossien它仍然适用。您只需更改列并保持行不变:按钮(root,text='Hello world').grid(column=1,row=0)
@Arandomcoder这是不够的。有人通过将columnspan
添加到text
小部件解决了这个问题。是的,它解决了我的问题。非常感谢