Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Tkinter and pulling a textbox value on button press

I used Visual TK as a generator for GUI for my app, but i have a problem. I want to pull the textbox values from one function into the button function. Also I want to update a label from within the button function also. I can’t seem to do it because they are not defined.

The problem is in these two lines:
number = self.PoleMaticen.get("1.0", "end") and
GLabel_250["text"] = number

class App:
    def __init__(self, root):
        #setting title
        root.title("Some title")
        #setting window size
        width=272
        height=297
        screenwidth = root.winfo_screenwidth()
        screenheight = root.winfo_screenheight()
        alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
        root.geometry(alignstr)
        root.resizable(width=False, height=False)

        PoleMaticen=tk.Entry(root)
        PoleMaticen["borderwidth"] = "1px"
        ft = tkFont.Font(family='Arial',size=10)
        PoleMaticen["font"] = ft
        PoleMaticen["fg"] = "#333333"
        PoleMaticen["justify"] = "left"
        PoleMaticen["text"] = "INPUT THE NUMBER"
        PoleMaticen.place(x=110,y=10,width=139,height=30)
        PoleMaticen.focus()

        GLabel_250=tk.Label(root)
        GLabel_250["anchor"] = "ne"
        ft = tkFont.Font(family='Arial',size=10)
        GLabel_250["font"] = ft
        GLabel_250["fg"] = "#333333"
        GLabel_250["justify"] = "left"
        GLabel_250["text"] = "The number"
        GLabel_250.place(x=10,y=10,width=87,height=30)
        
        GButton_baraj=tk.Button(root)
        GButton_baraj["bg"] = "#f0f0f0"
        ft = tkFont.Font(family='Arial',size=10)
        GButton_baraj["font"] = ft
        GButton_baraj["fg"] = "#000000"
        GButton_baraj["justify"] = "center"
        GButton_baraj["text"] = "Lookup"
        GButton_baraj.place(x=20,y=90,width=227,height=30)
        GButton_baraj["command"] = self.GButton_baraj_command

    def GButton_baraj_command(self):
        wb = openpyxl.load_workbook("workbook.xlsx")
        ws = wb.active
        number = self.PoleMaticen.get("1.0", "end")
        GLabel_250["text"] = number
        



if __name__ == "__main__":
    root = tk.Tk()
    app = App(root)
    root.mainloop()

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

PoleMaticen and GLabel_250 are variables local to __init__, which is why trying to use them in another function understandably fails.

If you need to use them as self.PoleMaticen and self.GLabel_250, assign them to those fields on self:

PoleMaticen = tk.Entry(root)
# ...
self.PoleMaticen = PoleMaticen

etc.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading