2016-07-30 5 views
-1

"다시 표시하지 않음"(최상위 창) 창이 필요합니다. 이 상자가 선택되면 다른 시간에이 창을 나에게 보여주고 싶지 않습니다.나에게 다시 표시하지 않음

import configparser 
from tkinter import * 
config = configparser.RawConfigParser()  #my ini file 
config.add_section('Section1') 
config.set('Section1', 'a_bool', 'False') 
with open('settings.ini', 'w') as configfile: 
    config.write(configfile) 
root = Tk() 
def var_states():       #write to ini file 
    global mt 
    print(config.read('ayrlar.ini')) 
    if var1 == True: 
     config.set('Section1', 'a_bool', 'True') 
     with open('settings.ini', 'w') as configfile: 
      config.write(configfile) 
     global window 
     window.destroy() 
    elif var1 == False: 
     config.set('Section1', 'a_bool', 'False') 
     with open('settings.ini', 'w') as configfile: 
      config.write(configfile) 
      global window 
      window.destroy() 
var1 = config.getboolean('Section1', 'a_bool') 
def show():       #if checkbox is true 
    global window      #dont show 
    window= Toplevel(root) 
    Checkbutton(window, text="Don't show me again", variable=var1).place(x=0, y=0) 
    Button(window, text='Okey', command=var_states).place(x=0, y=25) 
root.after(10,show) 
root.mainloop() 

다른 시간에 실행하면이 창을 표시하고 싶지 않습니다. ConfigParser으로 어떻게해야합니까?

+0

스택 오버플로 코드 작성 서비스가 아닙니다. – ppperry

+0

내 코드를 볼 수 있습니다. 내 코드 문제 만 해결하면 되겠습니까? – stackrangerflow

답변

0

Checkbutton의 변수가 작동하려면 IntVar 또는 BooleanVar이어야합니다. 그래서 나는 BooleanVar하여 코드에서 var1 대체 :

def var_states():       #write to ini file 
    global mt 
    print(config.read('ayrlar.ini')) 
    if var1.get(): 
     config.set('Section1', 'a_bool', 'True') 
     with open('settings.ini', 'w') as configfile: 
      config.write(configfile) 
     global window 
     window.destroy() 
    else: 
     config.set('Section1', 'a_bool', 'False') 
     with open('settings.ini', 'w') as configfile: 
      config.write(configfile) 
      global window 
      window.destroy() 
var1 = BooleanVar(root, value=config.getboolean('Section1', 'a_bool')) 
관련 문제