[英]Tkinter closing the gap between widgets
如果它看起來很亂,我很抱歉,但是我如何縮短入口小部件和名為“tag”的 label 小部件之間的差距這是它現在的樣子:
我希望輸入框和“等級”這個詞粘在一起。我覺得網格之間有一個基本距離,所以我嘗試了一些幾何特征,但無法弄清楚
import tkinter as tk
from tkinter import ttk
from tkinter import *
win = tk.Tk()
win.geometry("300x250")
win.title("Gpa Calculator")
def gpa_calc():
pass
grade1 = tk.DoubleVar()
grade2 = tk.DoubleVar()
grade3 = tk.DoubleVar()
grade4 = tk.DoubleVar()
grade5 = tk.DoubleVar()
grade6 = tk.DoubleVar()
label1 = ttk.Label(win, text="Gpa Calculator",font = ("Times New Roman", 15)).grid(column=1,row=0,pady=0)
label1 = ttk.Label(win, text="Class 1").grid(column=0, row=1,)# Column ve row da degismesi gerekebilir
class1 = ttk.Entry(win, width=12, textvariable=grade1)
class1.grid(column=2, row=1,pady=5)
tag1 = ttk.Label(win, text="Gpa:").grid(column=1, row=1,)
label2 = ttk.Label(win, text="Class 2").grid(column=0, row=2,)
class2 = ttk.Entry(win, width=12, textvariable=grade2)
class2.grid(column=2, row=2,pady=5)
tag2 = ttk.Label(win, text="Gpa:").grid(column=1, row=2,)
label3 = ttk.Label(win, text="Class 3").grid(column=0, row=3,)
class3 = ttk.Entry(win, width=12, textvariable=grade3)
class3.grid(column=2, row=3,pady=5)
tag3 = ttk.Label(win, text="Gpa:").grid(column=1, row=3,)
label4 = ttk.Label(win, text="Class 4").grid(column=0, row=4,)
class4 = ttk.Entry(win, width=12, textvariable=grade4)
class4.grid(column=2, row=4,pady=5)
tag4 = ttk.Label(win, text="Gpa:").grid(column=1, row=4,)
label5 = ttk.Label(win, text="Class 5").grid(column=0, row=5,)
class5 = ttk.Entry(win, width=12, textvariable=grade5)
class5.grid(column=2, row=5,pady=5)
tag5 = ttk.Label(win, text="Gpa:").grid(column=1, row=5,)
label6 = ttk.Label(win, text="Class 6").grid(column=0, row=6,)
class6 = ttk.Entry(win, width=12, textvariable=grade6)
class6.grid(column=2, row=6,pady=5)
tag6 = ttk.Label(win, text="Gpa:").grid(column=1, row=6,)
頂部 label 定義了中心列的寬度。 解決此問題的一種方法是為頂部 label 提供所有 3 列:
label1 = ttk.Label(win, text="Gpa Calculator",font = ("Times New Roman", 15))
label1.grid(column=0,row=0,pady=0,columnspan=3)
解決這個問題的另一個好方法是為表格制作一個專用的框架,以便框架有自己的網格。 然后您可以將該框架作為單個 object 放在另一個網格中。
我不是專業人士,但您可以刪除填充並使用 win.columnconfigure 和 win.rowconfigure 設置網格的逐個單元格(或單元格列表)設置,如下所示:
win.columnconfigure(col,weight=1)
: weight使列或行可拉伸。 (你也可以設置pad)
對不起我的英語,可悲的是我是法語
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.