ich habe ein Problemmit der Variablen "var" in de Funktion: sel ( + str(var.get()), Fehlermeldung:
Wie muss ich die Variable in der Funktion: sel richtig deklarieren.File "J:\MeineProgramme\Python\Windows\Beispiele aus dem Internet\sz_01.py", line 75, in sel
selection = "You selected the option " + str(var.get())
NameError: name 'var' is not defined
Hat nicht funktioniert: + str(self.var.get())
Hier mein Python Programm: (python3 sz.py)
Code: Alles auswählen
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Datum: 22.03.2017
# Vorlage:
# gui_python_04.py
try:
#python3
from tkinter import *
from time import *
except ImportError:
#python2
from Tkinter import *
from time import *
class MyApp(Tk):
def __init__(self):
Tk.__init__(self)
Alarmzone_A = IntVar()
Alarmzone_B = IntVar()
Alarmzone_C = IntVar()
Alarmzone_D = IntVar()
var = IntVar()
fr = Frame(self)
fr.pack()
self.canvas = Canvas(fr, height = 400, width = 600)
self.canvas.pack()
#self.name.set("Steuerzentrale")
#self.rect = self.canvas.create_rectangle(25, 25, 75, 75, fill = "white")
#self.do_blink = False
service_button = Button(self, text="Service", command=self.start_blinking)
service_button.place(x=200, y=360)
beenden_button = Button(self, text="Beenden", command=self.close_fenster)
beenden_button.place(x=25, y=360)
text_label1 = Label(self,text="Alarmzone")
text_label1.place(x=25, y=30)
# RadioButton
R1 = Radiobutton(self, text="A", variable=var, value=1, command=self.sel)
R1.pack( anchor = W )
R2 = Radiobutton(self, text="B", variable=var, value=2, command=self.sel)
R2.pack( anchor = W )
# Label fuer Test RadioButton
label3 = Label(self, text =str(var.get()))
label3.place(x=100, y=30)
#label3.pack()
# ListBox
Lb1 = Listbox(self, width = 50)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")
Lb1.place(x=25, y=100)
def start_blinking(self):
self.do_blink = True
self.blink()
def stop_blinking(self):
self.do_blink = False
def blink(self):
if self.do_blink:
current_color = self.canvas.itemcget(self.rect, "fill")
new_color = "red" if current_color == "white" else "white"
self.canvas.itemconfigure(self.rect, fill=new_color)
text_label2 = Label(master=self,text="blink")
text_label2.pack()
self.after(1000, self.blink)
def sel(self):
selection = "You selected the option " + str(var.get())
text_label3 = Label(self, text = selection)
text_label3.pack()
def close_fenster(self):
self.quit()
self.destroy()
if __name__ == "__main__":
root = MyApp()
root.mainloop()
Juergen B.