Обьясните на примере, как правильно обрабатывать флаги, я новичек в питоне, всю ночь просидел, в итоге не чего не работает, совсем запутался.
Нужно, что бы если флаги не выбраны, то при нажатии кнопки, в консоле печатался текст «Выбраны команды:», если выбран первый флаг и нажата кнопка то печаталось «Выбраны команды: 1» (для второго флага аналогично, вместо единицы - двойка), а если выбраны оба флага и нажата кнопка, то выводилось «Выбраны команды: 1 2» - как это сделать?
Код, который не работает так как хотелось бы:
#!/usr/bin/env python
# --*-- coding:utf-8 --*--
# example togglebutton.py
import gtk
import pango
import os
command1 = "1"
command2 = "2"
commands = "Выбраны команды: "
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Тест")
self.set_position(gtk.WIN_POS_CENTER)
self.set_size_request(190, 150)
self.set_resizable(False)
button1 = gtk.CheckButton("Первый флаг")
button1.set_active(False)
button1.unset_flags(gtk.CAN_FOCUS)
button1.connect("clicked", self.on_clicked1)
button2 = gtk.CheckButton("Второй флаг")
button2.set_active(False)
button2.unset_flags(gtk.CAN_FOCUS)
button2.connect("clicked", self.on_clicked2)
button3 = gtk.Button("Напечатать команды")
button3.set_size_request(150, 30)
button3.connect("clicked", self.on_clicked3)
fixed = gtk.Fixed()
fixed.put(button1, 20, 20)
fixed.put(button2, 20, 50)
fixed.put(button3, 20, 80)
self.connect("destroy", gtk.main_quit)
self.add(fixed)
self.show_all()
def on_clicked1(self, widget):
if widget.get_active():
commands+command1
else:
commands
def on_clicked2(self, widget):
if widget.get_active():
commands+command2
else:
commands
def on_clicked3(self, widget):
print commands
PyApp()
gtk.main()