Python and wxWidgets (Python and wxWidgets в примерах.)

Модератор: Модераторы разделов

Аватара пользователя
farex
Сообщения: 497
ОС: Slackware 12.2, Archlinux

Python and wxWidgets

Сообщение farex »

Да простят меня модераторы...
Решил выкладывать свои познания в программирование Python vs wxWidgets
Вот простой и доступный пример создания и использования RadioButtons (радио кнопок)

Код: Выделить всё

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import wx

class MainFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, -1, u"Простой пример wxRadioButton")
        self.panel = wx.Panel(self)
        self.SetSize((200,200))
        self.Center()
#Здесь создаюстся сами радиокнопки
        self.radio0 = wx.RadioButton(self.panel, -1, u"Значение 0", style=wx.RB_GROUP)
        self.radio1 = wx.RadioButton(self.panel, -1, u"Значение 1")
        self.radio2 = wx.RadioButton(self.panel, -1, u"Значение 2")
#Здесь привязываюься события для радио кнопок, в данном случае событием является функция Event0
        self.radio0.Bind(wx.EVT_RADIOBUTTON, self.Event0)
        self.radio1.Bind(wx.EVT_RADIOBUTTON, self.Event0)
        self.radio2.Bind(wx.EVT_RADIOBUTTON, self.Event0)
#Здесь создается "Сизер", для групировки радио кнопок
        sizer0 = wx.BoxSizer(wx.VERTICAL)
#Здесь собственно происходит групировка
        sizer0.Add(self.radio0, 0, flag=wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, border=5)
        sizer0.Add(self.radio1, 0, flag=wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, border=5)
        sizer0.Add(self.radio2, 0, flag=wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, border=5)

        self.SetSizer(sizer0)

    def Event0(self, event):
        value0 = self.radio0.GetValue()
        value1 = self.radio1.GetValue()
        value2 = self.radio2.GetValue()

        if value0 == True:
            self.text = wx.StaticText(self.panel, -1, u"Выбрано значение 0", ((50, 80)))
        elif value1 == True:
            self.text = wx.StaticText(self.panel, -1, u"Выбрано значение 1", ((50, 80)))
        elif value2 == True:
            self.text = wx.StaticText(self.panel, -1, u"Выбрано значение 2", ((50, 80)))


class App(wx.App):
   def OnInit(self):
      frame = MainFrame(None)
      frame.Show()

      return True

def main():
   application = App()
   application.MainLoop()

if __name__ == '__main__':
   main()


Код предельно простой, постарался не перегружать его лишними действиями.
С удовольствием выслушаю ваши замечания, так как сам изучаю САБЖ.
Ps:
По мере изучения буду выкладывать >>сюда<< свои "Заметки" "Решения"
Если же конечно модераторы не будут против.
Сыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Python and wxWidgets

Сообщение deadhead »

farex писал(а):
19.04.2010 17:34
программирование Python vs wxWidgets
ммм... вы ничего не путаете? vs
[x] close
Спасибо сказали:
Аватара пользователя
farex
Сообщения: 497
ОС: Slackware 12.2, Archlinux

Re: Python and wxWidgets

Сообщение farex »

deadhead
Извините, что то запарился.. (=
Исправил.
Сыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
Спасибо сказали: