2016-07-30 66 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

Stack Overflow不是代碼編寫服務。 – ppperry

+0

你可以看到我的代碼我只想要什麼我的代碼問題爲什麼不工作 – stackrangerflow

回答

0

對於變量Checkbutton的工作,它應該是IntVarBooleanVar。所以我用您的代碼中的var1代替了BooleanVar

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'))