Как изменить формат отображаемого текста Python GTK3 SpinButton? - PullRequest
0 голосов
/ 30 сентября 2019

Исходя из моего кода на этом якобы специфичной для Python документации , у меня есть:

def on_output(spin):
    adj = spin.get_adjustment()
    val = int(adj.get_value())
    s = "%02d" % val
    print "on_output: %s" % s
    spin.set_text(s)

, который я подключаю к выходному сигналу моего SpinButton. Кажется, он работает при первом отображении элемента управления (показывает «00»), но когда я нажимаю кнопку увеличения SpinButton, отформатированное значение из on_output перезаписывается, поэтому, например, мой «01» отображается как обычное «1». Похоже, что другой сигнал или событие заставляет элемент управления переформатировать себя после on_output, но я немного пытаюсь диагностировать. Любые эксперты по GTK3 с Python, пожалуйста, помогите с предложениями по отладке.

Платформа Xubuntu 18.10, Python 2.7, GTK3 3.22.

1 Ответ

0 голосов
/ 01 октября 2019

Вау! Если когда-либо был случай для ответа «RTFM!»это было оно. Как очень вежливо указал Александр Дмитриев, «обратное» утверждение отсутствует. В моей первой попытке я вернул True, но это не удалось (по некоторой, по-видимому, не связанной причине), поэтому я попробовал False, который не имел значения. Почему-то возвращаемое значение терялось после этого, и когда я перечитал документ «внимательно», я пропустил его - мы видим то, что ожидаем увидеть! Должно быть, я слишком стар для этой хакерской игры, может, пришло время повесить клавиатуру. :)

...