簡體   English   中英

Tkinter網格系統

[英]Tkinter Grid System

title = Label (root, text = "Expectancy Calculator")
title.grid(row = 0, column = 2)

howManyStocksLabel = Label(root, text = "How many stocks do you want to evaluate?")
howManyStocksLabel.grid(row = 1, column = 0)
howManyStocksEntry = Entry(root, borderwidth = 3)
howManyStocksEntry.grid(row = 1, column = 1)


riskLabel = Label(root, text = "Enter risk %                                                        ")
riskLabel.grid(row = 2, column = 0)
riskEntry = Entry(root, borderwidth = 3)
riskEntry.grid(row = 2, column = 1)

isChnaceDefaultCheckButton = Checkbutton(root, text = "Make chance = 0.9?")
isChnaceDefaultCheckButton.grid(row = 3, column = 0)

nextButton = Button(root, text = "Next!", fg = 'green', bg = 'white',
                    command= lambda: myClick(riskEntry, howManyStocksEntry))
nextButton.grid(row = 4, column = 2)

我這里有兩個問題; 首先,除非我將所有這些空格放在%之后,否則riskEntryLabel並不完全從第 0 列開始。

這是程序的屏幕截圖,其中沒有riskEntryLabel中的空格。

截屏

除了插入所有這些空格之外,還有其他方法可以解決這個問題嗎? 更重要的是,為什么tkinter會這樣?

其次,如何將Checkbutton的文本放在左邊而不是右邊?

使用grid時,小部件將在分配給它們的空間中居中。 在您的情況下,由於“有多少股票...”label,第一列非常寬。為了使風險 label 與左側對齊,您希望它“粘”在空間的左側而不是居中.

您可以使用sticky屬性來執行此操作,可以為該屬性指定一個羅盤點(“n”、“s”、“e”、“w”)或點的組合(例如:“nsew”)

riskLabel.grid(row=2, column=0, sticky="w")

至於復選按鈕,它有一個名為anchor的選項,它指定如何將文本與復選按鈕對齊。

cb = Checkbutton(root, text="Make chance = 0.9?", anchor="w")
cb.grid(row=3, column=0, sticky="ew")

看來您想要文本右側的復選按鈕。 復選按鈕不支持。 正常的方法是創建一個沒有文本的復選按鈕,然后使用 label 作為文本,就像輸入小部件一樣。

暫無
暫無

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

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