我的问题是我有一个比例和一个改变彼此值的旋转框。 OFr示例如果两者都从1变为100,如果我将比例设置为50,则旋转框也将改变,反之亦然。现在除了一个小问题之外我还能很好地工作。我无法通过整数来获得ttk规模。 Everytimer我改变了比例,我的数字后面有一小部分。这是我的代码:
def create_widgets(self):
"""my widgets"""
spinval = IntVar()
self.scale = ttk.Scale(self, orient = HORIZONTAL,
length = 200,
from_ = 1, to = 100,
variable = spinval)
self.scale.grid(row = 3,column = 1,sticky = W)
self.spinbox = Spinbox(self, from_ = 1, to = 100,
textvariable = spinval,
command = self.update,
width = 10)
self.spinbox.grid(row = 3,column =3,sticky = W)
def update(self, nothing):
"""Updates the scale and spinbox"""
self.scale.set(self.spinbox.get())
现在我的问题是:它是否可能以某种方式使其按整数递增或更改正常Tkinter比例的图形以使其看起来更好。欢迎任何帮助。
答案 0 :(得分:5)
def create_widgets(self):
"""my widgets"""
spinval = IntVar()
self.scale = ttk.Scale(self, orient=HORIZONTAL,
length=200,
from_=1, to=100,
variable=spinval,
command=self.accept_whole_number_only)
self.scale.grid(row=3, column=1, sticky=W)
self.spinbox = Spinbox(self, from_=1, to=100,
textvariable=spinval,
command=self.update,
width=10)
self.spinbox.grid(row=3,column=3, sticky=W)
def accept_whole_number_only(self, e=None):
value = self.scale.get()
if int(value) != value:
self.scale.set(round(value))
def update(self, e=None):
"""Updates the scale and spinbox"""
self.scale.set(self.spinbox.get())