gpt4 book ai didi

python - 使用 .grid 管理器的 tkinter 比例偏移位置

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:04 25 4
gpt4 key购买 nike

我目前正在为学校 Python 评估编写一个简单的库存管理软件。我的 GUI 涉及列出所有库存商品,并让用户能够一次库存/销售多个商品。这是通过在每个项目旁边放置一个条目(购买量)和一个比例小部件(销售量),并使用“应用”按钮来执行更改来实现的(对于上下文,该场景是一家漫画书店):

https://i.imgur.com/7cesQm5.png

这是我用来从每个文件创建新小部件的代码(所有这些都包含在字典中,从 CSV 文件中提取):

itteration = 2

labels = {}

nameTitle = Label(main, text="Title").grid(row=1, column=1, padx=5)
stockTitle = Label(main, text="Stock").grid(row=1, column=2, padx=5)
buyTitle = Label(main, text="Amount to Buy").grid(row=1, column=3, padx=5)
sellTitle = Label(main, text="Amount to Sell").grid(row=1, column=4, padx=5)

for item in comic_books:

name = item.replace(" ", "")
nameStock = "{}Stock".format(item).replace(" ", "")
nameBuy = "{}Buy".format(item).replace(" ", "")
nameSell = "{}Sell".format(item).replace(" ", "")
labels[name] = Label(main, text=item+":")
labels[name].grid(column=1, row=itteration, padx=5)
labels[nameStock] = Label(main, text=comic_books.get(item))
labels[nameStock].grid(column=2, row=itteration, padx=5)
labels[nameBuy] = Entry(main)
labels[nameBuy].grid(column=3, row=itteration, padx=20)
labels[nameSell] = Scale(main, from_=0, to=comic_books.get(item), orient=HORIZONTAL)
labels[nameSell].grid(column=4, row=itteration, padx=5)
itteration += 1

但是,我不喜欢刻度如何根据 slider 的中心和顶部的数字在行中居中。这使得 slider 看起来低于它旁边的条目小部件。

https://i.imgur.com/9CQTvWS.png

我的问题是:我将如何潜在地将比例小部件的位置从其原始位置向上偏移给定的量(可能是 5-10 像素?),以将实际 slider 推到与它之前的条目小部件一致的位置?

如果您需要任何额外说明,请告诉我

干杯,

-肖恩

最佳答案

使用 sticky='s'sticky='n' 粘在单元格的底部(南)和顶部(北)我得到了这个

enter image description here

我没有在 pady 中使用不同的值

import tkinter as tk

root = tk.Tk()

l = tk.Label(root, text='Label')
l.grid(column=1, row=0, padx=5, sticky='s', pady=10)

e = tk.Entry(root)
e.grid(column=2, row=0, padx=20, sticky='s', pady=10)

s = tk.Scale(root, from_=0, to=10, orient='horizontal')
s.grid(column=3, row=0, padx=5, sticky='n', pady=10)

root.mainloop()

对一个小部件使用 stickypady=(0,20) 我得到了这个

enter image description here

import tkinter as tk

root = tk.Tk()

l = tk.Label(root, text='Label')
l.grid(column=1, row=0, padx=5, sticky='s', pady=10)

e = tk.Entry(root)
e.grid(column=2, row=0, padx=20, sticky='s', pady=10)

s = tk.Scale(root, from_=0, to=10, orient='horizontal')
s.grid(column=3, row=0, padx=5, sticky='n', pady=(0,20))

root.mainloop()

关于python - 使用 .grid 管理器的 tkinter 比例偏移位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55505812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com