Текстовая переменная записи tkinter не отображается в Python 3 - PullRequest
0 голосов
/ 24 августа 2018

Были заданы похожие вопросы, но ни один не отражает поведение, которое я наблюдаю.У меня есть графический интерфейс, который отлично работал в Python 2.7.Я недавно обновился до 3.5.2 и изменил свой импорт tkinter соответствующим образом, чтобы он работал.Однако ни один из атрибутов textvariable моих виджетов Entry не отображается.Значения хранятся правильно, просто не отображаются.Вот минимальный пример:

import tkinter as tk
class App:
    def __init__(self,window):
        self.root = window
        self.var = tk.DoubleVar()
        self.entry = tk.Entry(self.root,textvariable=self.var)
        self.var.set(1.3)
        self.entry.pack()
main = tk.Tk()
App(main)
main.mainloop()

Я также попытался поместить строку self.var.set(1.3) сразу после инициализации, но она не работает.Запуск этого дает мне пустой виджет записи.

Я использую Python 3.5.2 в Enthought Canopy, используя iPython 5.3.0

1 Ответ

0 голосов
/ 27 августа 2018

Как упоминалось в комментариях, это оказалось проблемой Canopy.В частности, когда он использует tk для бэкэнда Pylab (опция в Preferences / Python).Переключение с tk устранило проблему.

...