Как установить невидимое значение по умолчанию в виджетах входа?

Я делаю небольшое приложение с Gtk3 и Glade, которое вычисляет объемы, в нем много виджетов ввода, и для целей расчета мне нужно, чтобы они были установлены на 0 по умолчанию. Это легко сделать в Glade, но я хочу, чтобы 0 было невидимым.

Есть ли способ сделать значение записи по умолчанию невидимым или применить условное выражение, например:

if entry = None:
    entry = 0

ко всем виджетам входа, не повторяя себя бесконечно?


person artothief    schedule 29.05.2014    source источник
comment
Должен ли это быть виджет Entry, или SpinButton также будет работать, поскольку похоже, что используются числовые данные?   -  person Simon Feltman    schedule 29.05.2014
comment
Да, используются только числовые данные, и SpinButton сделает эту работу. Входные данные будут плавающими со значениями, исчисляемыми тысячами, и SpinButton будет казаться неуместным, также удаление этих 0 — это просто косметическая вещь, а SpinButton, я думаю, усугубит ситуацию. Спасибо хоть.   -  person artothief    schedule 29.05.2014


Ответы (1)


Я решил реализовать десятичный модуль вместо использования чисел с плавающей запятой. Затем я написал небольшую функцию для проверки ввода.

def num(entry):
    number = Decimal(0.00) if not entry else Decimal(entry)
    return number

Работает нормально и кажется лучшим решением. По крайней мере, я к этому иду.

person artothief    schedule 31.05.2014