首页 > 解决方案 > 文本和条目宽度不相同 tkinter

问题描述

我开始学习 Tkinter 库,但我遇到了一个问题......我使用网格以我想要的方式设置我的窗口,但我不知道如何将条目小部件的宽度设置为与文本小部件相同. 当我输入相同的数字时,无论如何我都没有相同的宽度......

这是我的代码:

    from tkinter import *

def click():
    try:
        output.delete(0.0,END)
        entered_text=entry.get()
        output.insert(END, entered_text)
    except:
        output.insert(END, "")

def reset():
    output.delete(0.0,END)
    entry.delete(0,END)

if __name__ == '__main__':

    window = Tk()
    window.title("TEST")
    window.geometry("500x500")

    Label (window, text="Nombre de palettes :").grid(row=0,  sticky=W)
    Label (window, text="Prix :").grid(row=1, sticky=W)

    entry = Entry (window)
    entry.grid(row=0, column=2)

    output = Text(window, width=8, heigh=1,  wrap=WORD)
    output.grid(row=1, column=2)

    accepter=Button(window, text="Accepter",  width=6, command=click)
    accepter.grid(row=2, column=0)
    restart = Button(window, text="Reset", width=6,command=reset)
    restart.grid(row=2, column=1)
    fin = Button(window, text="Quitter", width=6,command=window.destroy)
    fin.grid(row=2, column=2)


    window.grid_columnconfigure(4, minsize=100)
    window.mainloop()

先感谢您。

标签: pythonuser-interfacetkinter

解决方案


一种方法是扩展小部件以填充单元格:

entry = Entry(window)
entry.grid(row=0, column=2, sticky=E+W, padx=10)

output = Text(window, width=8, heigh=1,  wrap=WORD)
output.grid(row=1, column=2, sticky=E+W, padx=10)

Wheresticky=E+W水平填充单元格,然后我添加一些填充padx=10以获得与单元格限制的距离。

如果其中一个小部件总是更大,您可以让该小部件确定单元格宽度,然后展开另一个小部件。


推荐阅读