Python → Hello World на wxPython
К плюсам wxwidgets(wxpython-биндинг wxwidgets на python) можно отнести «родной» внешний вид.
Однако, с виндой или питоном он не поставляется и его нужно доустанавливать отдельно.
В linux(на счет mac os не знаю) устанавливается довольно просто из репозитария.
Например установка в убунту:
Сам HelloWorld(описание в коде):
Готовое приложение(linux):
Жду ваших вопросов и уроков от dmbaturin :)
Однако, с виндой или питоном он не поставляется и его нужно доустанавливать отдельно.
В linux(на счет mac os не знаю) устанавливается довольно просто из репозитария.
Например установка в убунту:
sudo apt-get install python-wxgtk2.8
Сам HelloWorld(описание в коде):
# -*- coding: utf-8 -*- #подключаем wx import wx #создаем класс-потомок wx.Frame class MainWindow(wx.Frame): #__init__ - аналог конструктора c/c++ def __init__(self, parent, id, title): #вызываем родительский метод wx.Frame.__init__(self, parent, id, title, size=(200,100)) #первый параметр - родитель,второй - id,третий - заголовок,четвертый позиция #создаем элемент StaticText и примсваем его к переменной text self.text = wx.StaticText(self, -1,'0', (120, 40)) button1 = wx.Button(self, -1, '+', (10, 10)) button2 = wx.Button(self, -1, '-', (10, 60)) #привязываем к нажатию на кнопки действия self.Bind(wx.EVT_BUTTON, self.OnPlus, id=button1.GetId()) self.Bind(wx.EVT_BUTTON, self.OnMinus, id=button2.GetId()) #мы можем центрировать наше окошко self.Centre() #а так же перемещать ;) #self.Move((800, 250)) #и устанавливать позицию #SetPosition(wx.Point point) #показываем наше окно =) self.Show(True) def OnPlus(self, event): value = int(self.text.GetLabel()) value = value + 1 self.text.SetLabel(str(value)) def OnMinus(self, event): value = int(self.text.GetLabel()) value = value - 1 self.text.SetLabel(str(value)) app = wx.PySimpleApp() #создаем окно frame=MainWindow(None, wx.ID_ANY, 'Calculator') #запускаем "бесконечный" цикл, где будут обрабатываться события app.MainLoop()
Готовое приложение(linux):
Жду ваших вопросов и уроков от dmbaturin :)
- +10
- nuclear
- 28 июля 2009, 13:56
С меня теперь по pyGTK :)
Есть некая Idle, менее навороченная, но я ее не пробовал.
Еще pydev руки не доходят поставить и посмотреть :)
можно более-менее сносно редактировать интерфейс. Генерирует файл-шаблон с заглушками для обработчиков событий.