Моя проблема в том, что у меня есть шкала и счетчик, которые меняют значения друг друга. Пример OFr, если оба идут от 1 до 100, если я установил масштаб на 50, счетчик также изменится, и наоборот. теперь у меня это работает очень хорошо, за исключением одной незначительной проблемы. Я не могу заставить шкалу ttk увеличиваться целыми числами. Каждый раз, когда я меняю шкалу, я получаю тонну десятичных знаков после запятой. Вот мой код:
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, чтобы она выглядела лучше. Любая помощь приветствуется.
1 ответ
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())
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.