Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2012 16:01:23

k_nek
Зарегистрирован: 2012-10-05
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание окна

Помогите разобраться что выводит мне программа (и где ошибка)

def begining (event):
	nombVar = var_in.get()
	if nombVar != "0":
		root.destroy()
from tkinter import *
root = Tk()
 hello = Label (root, text = "Ваш номер варианта") var_in = Entry (root, text = "Начать тест")
var_in = Entry (root)
but_start = Button (root, text = "начать тестирование")
but_start.bind("<Button-1>",begining)
После последней строчки (but_start.bind(“<Button-1>”,begining)) выдает ‘38637080begining’
Почему так происходит? И как сделать правильно?

Офлайн

#2 Окт. 23, 2012 21:14:44

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Создание окна

Где полный текст программы? Где методы геометрии объектов? Если Вы не хотите напрямую снимать данные с Entry используйте Tkinter.StringVar() и потом привязывайте его к Entry с помощью строки:
var = Tkinter.StringVar() # Создаем хранилище данных типа StringVar
Ent = Tkinter.Entry(root) # Создаем Ваше поле ввода
Ent КВ_СКОБКА“textvariable”КВ_СКОБКА = var # Связываем поле ввода и хранилище.

или если писать одной строкой:

Ent = Tkinter.Entry(root, textvariable = var)

Теперь, чтобы получить данные с поля ввода необходимо всего лишь сделать в отдельной в функции begining:

var.get()



Отредактировано 4kpt (Окт. 23, 2012 21:21:25)

Офлайн

#3 Окт. 26, 2012 08:32:12

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Создание окна

Попробуйте сначала поместить созданный объект куда-нибудь, а уже потом привязать сообщение.
Да и вообще, у кнопки есть свойство вызова функции по клику. Зачем городить огород с bind?
Используйте Tkinter GUI for python как настольную книгу, там не все, но много чего.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version