Найти - Пользователи
Полная версия: передать значение в модальное окно
Начало » Python для новичков » передать значение в модальное окно
1
zlodiak
помогите пожалуйста передать значение поля 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
4kpt_II
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 *

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

Будут вопросы - пишите…
zlodiak
спасибо
4kpt_II
Да не за что. Разбирайтесь…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB