运行python3.7从python.org下载到macos mojave。
我用下面的代码来排列
Spinbox
和A
Scale
控制同一个变量。但是,我并不期望这样的外观:
import tkinter as tk
root = tk.Tk()
mainframe = tk.Frame(root)
# Model
input = tk.DoubleVar(value=0.)
# input = tk.IntVar(value=0)
spin = tk.Spinbox(mainframe, textvariable=input, wrap=True)
slide = tk.Scale(mainframe, variable=input, orient='horizontal')
spin['to'] = 1.0
spin['from'] = 0.0
spin['increment'] = 0.01
slide['to'] = 1.0
slide['from'] = 0.0
# spin['to'] = 100
# spin['from'] = 0
# spin['increment'] = 1
# slide['to'] = 100
# slide['from'] = 0
# Layout
weights = {'spin': 1, 'slide': 1000}
mainframe.grid_rowconfigure(0, weight=1)
mainframe.grid_columnconfigure(0, weight=weights['spin'])
mainframe.grid_columnconfigure(1, weight=weights['slide'])
spin.grid(row=0, column=0, sticky='news')
slide.grid(row=0, column=1, sticky='news')
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
mainframe.grid(row=0, column=0)
root.mainloop()
我希望
规模
会占用比
纺丝箱
但结果却恰恰相反。
我想可能是因为我用了
DoubleVar
因为十进制问题,字符串可能变长,但是
IntVar
给了我同样的结果。查看注释掉的代码块。
怎么了?我该怎么做
纺丝箱
还有一个很长的
规模
摆脱这种情况?这个MacOS是特定的吗,在这里操作系统在小部件上施加一些最小尺寸?