Я хочу написать скрипт python, где у меня есть некоторые кнопки Check и кнопка для запуска активных кнопок check. Если контрольная кнопка активна, и я нажимаю «Запустить», def run_app должен проверить, какие контрольные кнопки активны. Но если я запустил свой код, терминал говорит, что глобальное имя «is_checked» не определено.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()
Я изменил is_checked на self.is_checked. Теперь я не получаю никаких ошибок, но мой exe doenst open:/(тоже изменил код моего вопроса) – Dennis
@Dennis Вы не должны вносить изменения в свой вопрос, что делает ответы нерелевантными. Кроме того, я не понимаю, что вы подразумеваете в 'command = self.open_vb' этой строке? Если вы хотите выполнить 'self.open_vb', вам нужно' self.open_vb() 'вместо этого. – Lafexlos
Ладно, извините. Полагаю, я исправил это. :) – Dennis