Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 24, 2014 10:53:51

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

передать значение в модальное окно

помогите пожалуйста передать значение поля ent из главного окна в модальное

from tkinter import *
root = Tk()
root.geometry("500x500")
def modal():
     win = Toplevel(root)
     
     label = Label(win, text = '?root entry output?')
     label.pack()
ent = Entry(root, width = '10')
ent.pack()
button = Button(root, text = 'open modal', command = modal)
button.pack()
root.mainloop()

ps
python3

Офлайн

#2 Янв. 24, 2014 17:28:46

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

передать значение в модальное окно

zlodiak
python3
Это понятно из кода…

1. Следующие темы по Tkinter размещайте не здесь, а в разделе GUI.
2. По Вашему вопросу:

import tkinter
#
all_modals_label = {}
#
def del_toplevel(toplevel):
    label = toplevel.children.keys()[0]
    del(all_modals_label[label])
    toplevel.destroy()
#
def sent_to_modal(event):
    if all_modals_label:
        for label in all_modals_label.itervalues():
            label["text"] = ent.get()
#
def modal(event):
     win = tkinter.Toplevel(root)
     win.protocol("WM_DELETE_WINDOW", lambda: del_toplevel(win))
     label = tkinter.Label(win, text=ent.get(), width=20)
     label.pack()
     all_modals_label[label.winfo_name()] = label
#
root = tkinter.Tk()
#
ent = tkinter.Entry(root, width=10)
ent.bind("<Any-KeyRelease>", sent_to_modal)
ent.pack()
#
button = tkinter.Button(root, text='open modal')
button.bind("<Button-1>", modal)
button.pack()
#
root.mainloop()

Открываете модальное окно (можно открыть два или больше) и когда вводите в поле ввода, то такие же данные отображаются и в виджете Label модального окна.

P.S. Думаю уже себе сделать подпись

from tkinter import *

Читать, почему так делать НИКОГДА нельзя нужно тут…

Будут вопросы - пишите…

Отредактировано 4kpt_II (Янв. 24, 2014 17:31:24)

Офлайн

#3 Янв. 24, 2014 20:02:56

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

передать значение в модальное окно

спасибо

Офлайн

#4 Янв. 24, 2014 20:05:43

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

передать значение в модальное окно

Да не за что. Разбирайтесь…

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version