Я создал простой графический интерфейс Python Tkinter, и мне не удается заставить Checkbutton инициализировать правильными значениями, оба всегда не проверяются, независимо от того, что я делаю, тогда как две распечатки на дисплее кода:
('dryRunVar', 0)
('useGenreSubFolderVar', 1)
Пробовал все, что мог и с BooleanVar, и не мог заставить его работать
Как ни странно, если я изменил экземпляр CheckButton () на ttk.CheckButton (), тогда обе кнопки будут серымисостояние
Даже изменение вызова значений конфигурации на константы 0 и 1 ничего не меняет, кнопки остаются непроверенными
Также попробуйте немного подправить инстанцию Tk и mainloop, безуспешно
#!/usr/lib/python2.7/
# -*- coding: utf-8 -*-
from Tkinter import *
import conf,ttk
class GUI():
def __init__(self,window, configuration) :
self.configuration = configuration
self.window = window
self.draw()
def draw(self) :
self.root = Frame(self.window,padx=15,pady=15,width=800,height=200)
self.root.grid(column=0,row=0)
self.drawParametersFrame()
def drawParametersFrame(self) :
#Parameters frame
self.parametersFrame = LabelFrame(self.root,text="Sorting Parameters",padx=15,pady=15)
self.parametersFrame.grid(column=0,row=2,sticky="EW")
dryRunVar = IntVar()
dryRunVar.set(self.configuration['dryRun'])
print("dryRunVar",dryRunVar.get())
dryRunCheckButton = Checkbutton(self.parametersFrame,text="Dry Run", variable=dryRunVar, onvalue=1, offvalue = 0)
dryRunCheckButton.grid(column=0,row=0,sticky="W")
useGenreSubFolderVar = IntVar()
useGenreSubFolderVar.set(self.configuration['genreSubFolders'])
print("useGenreSubFolderVar",useGenreSubFolderVar.get())
useGenreSubFolderCheckButton = Checkbutton(self.parametersFrame,text="Use genre subfolders", variable=useGenreSubFolderVar, onvalue=1, offvalue = 0)
useGenreSubFolderCheckButton.grid(column=2,row=0,sticky="W")
if __name__ == "__main__":
configuration = conf.loadConf(r"/home/thomas/code/perso/python/conf.conf")
window = Tk()
gui = GUI(window,configuration)
window.mainloop()