#python #ttk
#python #ttk
Вопрос:
Теперь у меня есть рабочий spinbox, но я не могу узнать, как получить значение spinbox. При поиске в Интернете я не смог заставить примеры работать, может кто-нибудь помочь?
Это то, что у меня сейчас есть.
spinbox = StringVar()
s = ttk.Spinbox(root, from_=1.0, to=100.0, textvariable=spinbox).grid(column=4, row=1, sticky=W)
ttk.Label(root, text="amount:").grid(column=3, row=1, sticky=W)
Достаточно просто напечатать число в консоли.
Спасибо,
Ответ №1:
Проблема в том, что SpinBox.grid()
ничего не возвращает, т.Е. Возвращает None
.
Итак, сделайте это так:
s = ttk.Spinbox(root, from_=1.0, to=100.0, textvariable=spinbox)
s.grid(column=4, row=1, sticky=W)
print(s.get())
Редактировать-
Добавьте функцию для получения значения и добавьте эту функцию в параметр command
def get_spinbox_val():
global s
print(s.get())
s = ttk.Spinbox(root, from_=1.0, to=100.0, textvariable=spinbox, command=get_spinbox_val)
s.grid(column=4, row=1, sticky=W)
Комментарии:
1. Как я должен использовать
s.get()
? Когда я пытаюсь его использовать, я получаю эту ошибку'NoneType' object has no attribute 'get'
.2. Похоже, он по-прежнему не работает, теперь у меня все еще есть spinbox, но с используемым числом ничего не происходит…
3. Какое значение вы получаете? Не могли бы вы вставить несколько скриншотов того же самого?
4. Сальва, если это для меня, то вот мой ответ. Я нигде не получаю никаких чисел обратно, число появляется на моем экране в spinbox, но оно не отправляет его никуда в консоль или что-то еще…
5. Все работает правильно 🙂 большое спасибо. должен ли я теперь одобрить вопрос или нет? Я новичок, я не уверен