首页 > 解决方案 > 我想从另一个窗口获取一个值?(python,tkinter)

问题描述

我想从另一个窗口获取一个值,所以我使用 xlsxwriter 保存了该值并使用 pandas 获取了它,但问题是我不是在该窗口被破坏之后而是在主窗口关闭之后才获取该值?你能告诉我如何在不关闭主窗口的情况下获得价值吗?

标签: pythontkinter

解决方案


这是一个有用的链接,其中包含您尝试完成的简单解决方案。基本上,您需要一帧来接受变量作为输入,而另一帧则需要从第一帧中“获取”变量。

https://www.code4example.com/python/tkinter/tkinter-passing-variables-between-windows/

**为简单起见,从源代码复制到此处**

    from tkinter import *

    class Frames(object):
        def newFrame(self):
            newwin = Toplevel(root)
            newwin.title('New Window')
            newwin.geometry("200x100") 
            newwin.resizable(0, 0)
    
            #getting parameter via query var
            display = Label(newwin, text="Hello, " + self.query.get()) 
            display.pack()


        def mainFrame(self,root):
            self.query = StringVar() #passing parameter via query var
    
            root.title('Open Window!!!')
            root.geometry("200x200") 
            root.resizable(0, 0)
            button1 =Button(root, text ="Open and Send New Window", command =self.newFrame)
            button1.place(x = 15, y = 25, width=170, height=25)

            entry1 = Entry(root, textvariable=self.query)
            entry1.place(x = 50, y = 75, width=100, height=25)


    root = Tk()
    app = Frames()
    app.mainFrame(root)
    root.mainloop()

推荐阅读