Tkinter Combobox. Как задать пустое значение
Если не указывать в Combobox значение по умолчанию и вывести его, то выведется -1.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("500x500")
combo = ttk.Combobox(root, values = [1,2,3,4,5,6,7])
combo.pack()
print(combo.current())
# Вывод: -1
Я могу спокойно указать в качестве значения по умолчанию имеющееся значение, допустим на 0
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("500x500")
combo = ttk.Combobox(root, values = [1,2,3,4,5,6,7])
combo.pack()
combo.current(0)
print(combo.current())
# Выводится 0
Но как мне установить значение -1, если строка combo.current(-1) выдает ошибку?
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("500x500")
combo = ttk.Combobox(root, values = [1,2,3,4,5,6,7])
combo.pack()
combo.current(0)
print(combo.current())
combo.current(-1)
print(combo.current())
root.mainloop()
# Выдает ошибку
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Кроме выбора элементов из списка, combobox также позволяет вводить/задавать непосредственное значение (метод set()). Когда вы меняете (выбираете) current(), одновременно меняется и это значение (можете посмотреть при помощи метода get()). Т.к. изначально вы значение не задаёте, то оно равно пустой строке. Так что просто поставьте его снова в "пусто" и получите -1.
combo.current(0)
print(combo.current(), combo.get())
combo.set("")
print(combo.current(), combo.get())
combo.set("Not in the list")
print(combo.current(), combo.get())
0 1
-1
-1 Not in the list