Exception in Tkinter callback

Salutare!

Am o problema :smiley:
Incerc sa creez un mic script cu tkinter.
Vreau sa pot folosi valoare aleasa din ListOfUsr intro functie, insa primesc eroarea de ma jos.

Exception in Tkinter callback
Traceback (most recent call last):
File “C:\Program Files\Mu\pkgs\tkinter_init_.py”, line 1705, in call
return self.func(*args)
File “f:\arle\set_Arle.py”, line 58, in functionListOfUser
x = newOption.get()
NameError: name ‘newOption’ is not defined


Codul este

#######################################

from tkinter import *
from tkinter import ttk
from tkcalendar import Calendar, DateEntry
import datetime

DateNow = datetime.datetime.now()

class Window:

def __init__(self, tiTle, geomeTry):

    # Create window with title and geometry
    self.root = Tk()
    self.root.title('Arle')
    self.root.geometry('1150x500')
    
    # Add Frame for Tabs
    self.tabControl = ttk.Notebook(self.root)
    self.tabControl.pack(padx= 5, pady= 5)
   

def mainLoop(self):
    self.root.mainloop()

class Tabs(Window):

def __init__(self, tiTle, geomeTry, textTab):
    super().__init__(tiTle, geomeTry)

    self.nameTab = Frame(self.tabControl)
    self.nameTab.pack(fill = "both", expand = 1)
    self.tabControl.add(self.nameTab, text = textTab)
    
    
def newLabel(self, TxtEntry, Row, Col):

    ttk.Label(self.nameTab,text = TxtEntry).grid(row = Row, column = Col, padx = 5 , pady = 10)


def newEntry(self, Row, Col):
    value = StringVar()
    newEntry = ttk.Entry(self.nameTab,textvariable = value).grid(row = Row , column = Col, padx = 5 , pady = 10)


def newOption(self, ListOfUsr, Row, Col):
    
    LisUS = StringVar()
    newOption = ttk.OptionMenu(self.nameTab, LisUS,*ListOfUsr).grid(row = Row, column = Col, padx = 5 , pady = 10)
    ##### NU INTELEG DECE NU -I DA RETURN :D
    return newOption


def functionListOfUser(self):
   ##### AICI ESTE BUBA
    x = newOption.get()
    print(x)


def Button1(self, nameButton, Row, Col):
    
    ttk.Button(self.nameTab, text = nameButton, command = self.functionListOfUser).grid(row = Row, column = Col, padx = 5 , pady = 30)


def newDate(self, Row, Col):

    DateEntry(self.nameTab, width=40,bg="darkblue",fg="white",year=int(DateNow.year),locale='it_IT',
        date_pattern='dd/MM/yyyy').grid(row = Row, column = Col,padx = 5 , pady = 10)

ListOfUsr = [‘Select’,‘use1’,‘user2’,‘user3’]

s = Tabs(‘V.1.00’,‘1150x500’, ‘PAGE1’)

s.newLabel(‘Utilizator:’,0,0), s.newOption(ListOfUsr,0,1)

s.Button1(‘Print USER: in python’, 7,3)

s.mainLoop()

Cred ca vrei:

self.LisUS = StringVar()

in newOption. Bineinteles, pe asta il pasezi si la OptionMenu.

Si print(self.LisUS.get()) in functionListOfUser

1 Like

Salutare Adrian,

De 2 zile incercam sa gasesc problema, fara ajutor cine stie cand terminam …

import time

AdrianSuperErou = True

while(AdrianSuperErou):
print(‘multumesc foarte mult!’.upper())
time.sleep(1.2)

2 Likes