-1
python 스크립트를 작성하고 싶습니다. 여기에는 일부 체크 버튼과 활성 체크를 실행하기위한 버튼이 있습니다. 체크 버튼이 활성화되어 있고 "실행"을 클릭하면 def run_app가 활성화되어있는 체크 버튼을 선택해야합니다. 그러나 코드를 실행하면 터미널에서 "is_checked"라는 전역 이름이 정의되지 않는다고 말합니다. 당신의 __init__
의 더 is_checked
변수 바깥이 없음을 의미 로컬로 만든Python Tkinter 체크 버튼 실행
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는 열리지 않습니다./(내 질문의 코드도 변경했습니다.) – Dennis
@Dennis 질문에 대한 편집을해서는 안되며 이는 답을 무의미하게 만듭니다. 또한,'command = self.open_vb'에서이 라인이 무엇을 의미하는지 모르겠습니다. 'self.open_vb'를 실행하려면'self.open_vb()'가 필요합니다. – Lafexlos
오케이 죄송합니다 .. 제가 고칠 것 같아요. :) – Dennis