0
我對我的Gtk.Switch的狀態ON/OFF感到困惑,我會向你解釋原因。Gtk.Switch.get_active()奇怪的工作
這是ON狀態:
if __name == '__main__':
logging_file = None
my_logger = logging.getLogger()
my_logger.setLevel(logging.INFO)
builder.get_object('switch1').connect('button-press-event', self.switching)
builder.get_object('switch1').set_active(False)
t = threading.Thread(target=self.printing, args=(self.__builder.get_object('switch1'),))
t.setDaemon(True)
t.start()
def printing(self, widget):
while True:
time.sleep(1)
print '%s is %s' % (widget.get_name(), str(widget.get_active()))
-------- it prints correctly True if the switch is set ON --------
def switching(self, widget):
if logging_file is None:
logging_file = 'log' + '_' + time.strftime("%d.%m.%Y_%X")
file_handler = logging.FileHandler(self.logging_file, 'w')
file_handler.setFormatter(self.__formatter)
my_logger.addHandler(file_handler)
my_logger.info('%s is %s' % (widget.get_name(), str(widget.get_active())))
-------- it prints False if the switch is set ON***, i don't know why --------
看到代碼中的註釋,開關是在不同的狀態,如果我叫get_active()他自己的函數處理程序中或者如果我從外部函數調用get_active()。
非常感謝你,你從一段時間回答我的問題:) – FrancescoN