Я пишу годовую программу проверки данных и нуждаюсь в некотором входе пользователя с ней и решил пойти по маршруту tkinter. Я создал интерфейс для одного из экрана ввода пользователя и должен будет создавать другие, но у меня возникают некоторые проблемы с уничтожением окон после выбора и глобализация переменной.Использование tkinter для назначения глобальной переменной и уничтожения gui
В идеале программа запускается, открывается окно, выбирается соответствующий выбор атрибута, текст на этой кнопке передается функции «назначить», которая создает глобальную переменную, которая будет использоваться в моей программе, и окно исчезает.
Как сейчас, при запуске этого кода возникает ошибка: «TclError: не может вызвать кнопку« команда: приложение было уничтожено ».
Если я прокомментирую строку «mGui.destroy()», я могу выбрать кнопку и закрыть окно вручную, но переменная «DRN» передается переменной «x» независимо от того, что!
import sys
from Tkinter import *
def assign(value):
global x
x = value
mGui.destroy()
mGui = Tk()
mGui.geometry("500x100+500+300")
mGui.title("Attribute Selection Window")
mLabel = Label(mGui, text = "Please select one of the following attributes to assign to the selected Convwks feature:").pack()
mButton = Button(mGui, text = "CON", command = assign("CON")).pack()
mButton = Button(mGui, text = "MS", command = assign("MS")).pack()
mButton = Button(mGui, text = "DRN", command = assign("DRN")).pack()
mGui.mainloop() #FOR WINDOWS ONLY
Bonus проблема: Собираем все кнопки на одной строке с пробелами между ними, сохраняя при этом их по центру.
Это может быть дубликат http://stackoverflow.com/questions/5767228/tkin ter-button-not-working/5771787 # 5771787 –