Salutare!
Am o problema
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()