1

Тема: Робота з діалоговими вікнами

Всім доброго дня!  Виникла така проблема,потрібно повернути значиння а та b в коді й вивести їх. При такому коді воно не працює. Вв чому помилка? Дякую)

from tkinter import *
from tkinter.filedialog import *
import fileinput
 
def fun(event):
     a = a1.get()
     b = b1.get()
     return(a,b)
root = Tk()

a1 = Entry(root)
b1 = Entry(root)


t1 = Label(root,text = 'Введіть статус поля(green). 1 --ввімкнено,0 --вимкнено')
t2 = Label(root,text = 'Введіть статус поля(blue). 1 --ввімкнено,0 --вимкнено')
but = Button(root,text='OK')

t1.grid(row=2)
a1.grid (row=3,column=0)
t2.grid(row=4)
b1.grid()

but.grid()

but.bind('<Button-1>',fun)

a2,b2=fun('<Button-1>')

print(a2,b2)

root.mainloop()

2

Re: Робота з діалоговими вікнами

Якщо ви вже вирішили розібратись з вікнами, то рекомендую почитати як такого роду програми працюють, ті ж самі івенти і мейн-луп
Коли зрозумієте що роблять рядки 26 і 32, проблема відпаде

Подякували: N1ck1

3 Востаннє редагувалося koala (22.07.2017 07:05:09)

Re: Робота з діалоговими вікнами

Приєднуюся до попереднього коментаря.
І уточніть умову - невже вам дійсно треба "повернути і вивести a і b", а не, скажімо, вивести значення, введені у форму?

Подякували: N1ck1

4

Re: Робота з діалоговими вікнами

Все виявилося не так вже й складно.

from tkinter import *
from tkinter.filedialog import *
import fileinput
 
def fun(event):
     global a 
     a = a1.get()
     b = b1.get()
      
root = Tk()

a1 = Entry(root)
b1 = Entry(root)


t1 = Label(root,text = 'Введіть статус поля(green). 1 --ввімкнено,0 --вимкнено')
t2 = Label(root,text = 'Введіть статус поля(blue). 1 --ввімкнено,0 --вимкнено')
but = Button(root,text='OK')

t1.pack()
a1.pack()
t2.pack()
b1.pack()

but.bind('<Button-1>',fun)
but.pack()
#print(a)
root.mainloop()

a =int(a)
print(a)
Подякували: 0xDADA11C71