Tkinter StringVar error
30,673
You need to specify the tk.StringVar()
, as you did for every other tk function you specified.
self.variable = tk.StringVar()
This is because you just did an import tk
. As an alternative, you could import just the functions you need, or even all of them, by one of the two following lines:
from tk import StringVar
from tk import *
Author by
user2992997
Updated on July 09, 2022Comments
-
user2992997 almost 2 years
Hi i get an error with this code that StringVar() is not defined, and its probably a small thing but i am not that experienced with tkinter and would like some help, thanks.
Here's my code:
import tkinter as tk class Converter1(tk.Tk): def __init__(self): tk.Tk.__init__(self) self.entry = tk.Entry(self) self.variable = StringVar() self.variable.set("Miles to Kilometers") # default dropdown menu value self.menu = tk.OptionMenu(self, variable, "Miles to Kilometers", "Kilometers to Miles") self.button = tk.Button(self, text="Convert!", command=self.convertMK) self.button.pack() self.menu.pack() self.button.pack() self.entry.pack() def convtertMK(self): # converts the miles and kilometers using the dropdown menu if var.get() == "Miles to Kilometers": print(int(self.entry.get()) * 1.6093) else: print(int(self.entry.get()) / 1.6093) converter = Converter1()
Here's the error:
Traceback (most recent call last): File "/Users/MaxBookPro/Desktop/test.py", line 25, in <module> converter = Converter1() File "/Users/MaxBookPro/Desktop/test.py", line 8, in __init__ self.variable = Variable1 NameError: global name 'Variable1' is not defined
Thanks again.