Ich möchte ein Python-Skript schreiben, wo ich einige Checkbuttons und einen Button zum Ausführen meiner aktiven Checkbuttons habe. Wenn ein Häkchen aktiv ist und ich auf "Ausführen" klicke, sollte die Def run_app überprüfen, welche Checkbuttons aktiv sind. Aber wenn ich meinen Code ausführe, sagt das Terminal, dass der globale Name "is_checked" nicht definiert ist.Python Tkinter Run Checkbuttons
from Tkinter import *
import os
import sys
import os.path
import subprocess
exe = (path of my exe)
call = exe
class App:
def __init__(self, master):
self.is_checked = IntVar()
frame = Frame(master)
frame.pack()
self.test = Checkbutton(frame,
text="Verzeichnisse",
)
self.test.pack(side=LEFT)
self.slogan = Checkbutton(frame,
text="Visual Studio",
onvalue=1,
offvalue=0,
variable=self.is_checked
)
self.slogan.pack(side=LEFT)
self.button = Button(frame,
text="RUN", fg="red",
command=self.run_app)
self.button.pack(side=LEFT)
def open_vb(self):
subprocess.call(call, shell=True)
def run_app(self):
if self.is_checked.get():
command=self.open_vb
root = Tk()
app = App(root)
root.mainloop()
ich änderte is_checked zu self.is_checked. Jetzt bekomme ich keinen Fehler, aber meine exe doenst öffnen:/(änderte auch den Code meiner Frage) – Dennis
@Dennis Sie sollten keine Änderungen an Ihrer Frage vornehmen, die Antworten irrelevant macht. Außerdem sehe ich nicht, was meinst du in 'command = self.open_vb' diese Zeile? Wenn Sie 'self.open_vb' ausführen wollen, brauchen Sie stattdessen' self.open_vb() '. – Lafexlos
Okay sorry .. Ich denke, ich habe es behoben. :) – Dennis