簡體   English   中英

面臨 Tkinter 中的列跨度問題

[英]Facing a problem with column span in Tkinter

import tkinter as tk
submit_btn=tk.Button(root,text='click me')
submit_btn.grid(row=4,column=0,columnspan=2,pady=10,padx=10,ipadx=100)

我是 TKINTER 的初學者。 即使我將 columnspan=2 按鈕保持在相同的大小,我已經在第 0、1、2、3 行中放置了一些條目和 label 元素,並且它們的 column=1 和 0
請幫助我為什么按鈕大小沒有改變?

它會在沒有另一個按鈕的情況下展開。

from tkinter import * 

root = Tk()

submit_btn=Button(root,text='click me')
submit_btn.grid(row=0,column=0,columnspan=1,pady=10,padx=10,ipadx=0)


submit_btn2=Button(root,text='another click')
submit_btn2.grid(row=1,column=4,columnspan=1,pady=10,padx=10,ipadx=0)

此代碼將創建以下 window:

在此處輸入圖像描述

默認情況下,小部件將在分配給它們的空間中居中。 要讓小部件填充分配的空間,您需要使用sticky選項。

sticky選項告訴小部件“粘貼”到分配給它的空間的一側或多側。 邊被指定為北、南、東、西的羅盤點,並表示為字母“n”、“s”、“e”和“w”的組合。

以下示例說明了如何使按鈕的高度和寬度都增長以填充已分配的空間:

submit_btn.grid(..., sticky="nsew")

Columnspan 只處理按鈕的 position,而不是按鈕的實際大小。 為確保按鈕重新縮放到分配的所有列,請將sticky='ew'添加到.grid的參數中。 如果為這些方向配置,sticky 參數會強制按鈕粘在其指定的列和行的兩側。 要指定它應該堅持的方向,將它們放在放置位置的字符串示例中:

sticky='here'

它接受的方向是:“s”代表南/下/下,“w”代表西/左,“n”代表北/上/上,“e”代表東/右。 所以如果你想讓它粘在右邊,你會使用sticky='we' ,如果你想讓它粘在頂部和底部,你會使用sticky='sn' ,如果你想讓它粘在所有邊上你會使用sticky='swen' 粘性參數不關心您給出的方向或方向組合。

您的代碼示例:

submit_btn.grid(row=4,column=0,columnspan=2,pady=10,padx=10,ipadx=100,sticky='ew')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM