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
所做的是,它将为配置的小部件所在的单列的整个宽度的span
n
列腾出空间。如果您习惯于excel,您可以很容易地想象这一点,如下所示:


关于你所说的它们被放置得很远的原因?正确使用
grid()
是您的最佳选择。无法控制每个网格之间的距离button@hossien它仍然适用。您只需更改列并保持行不变:
按钮(root,text='Hello world').grid(column=1,row=0)
@Arandomcoder这是不够的。有人通过将
columnspan
添加到
text
小部件解决了这个问题。是的,它解决了我的问题。非常感谢