Как получить значение, введенное в виджет верхнего уровня в tkinter, и использовать его в главном окне для отображения?

Я новичок в графическом интерфейсе Python и пытаюсь научиться использовать tkinter, я создал главное окно при нажатии кнопки «Продолжить» в главном окне, открывается окно верхнего уровня, и в поле ввода можно ввести число, я m не удалось прочитать значение в главном окне. Может ли кто-нибудь помочь мне с тем, как прочитать значение, введенное в окне верхнего уровня, и ввести то же самое в главном окне

from tkinter import *


# global variable
blank_2 = [] 
blank_1 = []

# Function to create a top level window with entry boxes
def open_new_window():
    # Toplevel object which will be treated as a new window
    popup = Toplevel(main)
    global blank_2
    global blank_1
    # sets the title of the Toplevel widget
    popup.title("Enter the value")

    # sets the geometry of toplevel
    popup.geometry("480x220")
    popup.geometry("+500+250")
    popup.configure(background='grey')
    PL = Label(popup, text = "Enter the 1st value :", fg = "white", bg = "grey",
               font=('century gothic', 12))
    PL.place(x=20, y=20)
    GW = Label(popup, text = "Enter the 2nd value :", fg = "white", bg = "grey",
               font=('century gothic', 12))
    GW.place(x=20, y=70)
    blank_2 = Entry(popup, justify=LEFT, font=12, fg = "black", width=15)
    blank_2.place(x=210, y=20)
    blank_1 = Entry(popup, justify=LEFT, font=12, fg = "black", width=15)
    blank_1.place(x=210, y=70)
    exitp = Button(popup, text='Quit', font=8, width=5, height=1, bd=4, command=popup.destroy)
    setp = Button(popup, text='Set', font=8, bd=4, command=sum)
    exitp.place(x=300, y=120)
    setp.place(x=240, y=120)
    blank_2.focus()

# Function to insert the value from the top level window to main window
def sum():
    global blank_2, blank_1
    LS.insert(END, blank_2)
    LS.insert(END, blank_1)


main = Tk()
main.title("TEST")                        # required text on window title
main.configure(background='grey')                   # Background color of Main window
main.geometry("+600+150")                           # Position of the window on the screen
main.geometry("400x450")                            # Size of the window

# text window to display the value in main window
LS = Text(main, bd=3, height=3, width=30, bg = "light cyan")
LS.place(x=20, y=190)

# buttons to open a top level window and to quit the main window
C = Button(main, text='Continue', font=8, bd=4, command=open_new_window)
C.place(x=40, y=45)
Q = Button(main, text='Quit', font=8, width=5, height=1, bd=4, command=main.destroy)
Q.place(x=150, y=45)


mainloop()

Вывод в главное окно

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
377
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно вызвать метод get Entry, например

LS.insert(END, blank_2.get())
LS.insert(END, blank_1.get())

так как вы определили пустые_1 и пустые_2 как записи:

blank_2 = Entry(popup, justify=LEFT, font=12, fg = "black", width=15)
blank_1 = Entry(popup, justify=LEFT, font=12, fg = "black", width=15)

.!верхний уровень.!вход

является ссылкой для tkinter на файл wdiget.

Другие вопросы по теме