Wild PointerДа можно.
Кто-нибудь может в таком же “духе”, но только для Питона?
1. Создать модуль main.py
Добавить в него необходимый код (в частности, редактировать можно с помощью IDLE)
print 'hello, world!
python main.py
Wild PointerДа можно.
Кто-нибудь может в таком же “духе”, но только для Питона?
print 'hello, world!
python main.py
Кто-нибудь может в таком же “духе”, но только для Питона?Элементарно Ватсон! :)
import wx
#---------------------------------------------------------------------------
class MyMiniFrame(wx.MiniFrame):
def __init__(
self, parent, title, pos=wx.DefaultPosition, size=wx.DefaultSize,
style=wx.DEFAULT_FRAME_STYLE
):
wx.MiniFrame.__init__(self, parent, -1, title, pos, size, style)
panel = wx.Panel(self, -1)
button = wx.Button(panel, -1, "Close Me")
button.SetPosition((15, 15))
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, button)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
def OnCloseMe(self, event):
self.Close(True)
def OnCloseWindow(self, event):
print "OnCloseWindow"
self.Destroy()
#---------------------------------------------------------------------------
class TestPanel(wx.Panel):
def __init__(self, parent, log):
self.log = log
wx.Panel.__init__(self, parent, -1)
b = wx.Button(self, -1, "Create and Show a MiniFrame", (50,50))
self.Bind(wx.EVT_BUTTON, self.OnButton, b)
def OnButton(self, evt):
win = MyMiniFrame(self, "This is a wx.MiniFrame",
style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
win.SetSize((200, 200))
win.CenterOnParent(wx.BOTH)
win.Show(True)
#---------------------------------------------------------------------------
def runTest(frame, nb, log):
win = TestPanel(nb, log)
return win
#---------------------------------------------------------------------------
overview = """\
A MiniFrame is a Frame with a small title bar. It is suitable for floating
toolbars that must not take up too much screen area. In other respects, it's the
same as a wx.Frame.
"""
if __name__ == '__main__':
import sys,os
import run
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
evgenyl1) GUI под винду, а может и под никс(ы) потом. Я думал будет понятно по моему примеру.
Давайте начнем с вопроса что вы хотите писать на питоне ?
гуи приложения, веб сервисы, сетевые сервисы, скрипты, утилиты ?
для какой ОС вы хотите писать ?
FerromanСпасибо! Вот это похоже на ответ на мой вопрос (правда не так разжёвано как у меня).
Элементарно Ватсон! smile
Пример из wxPython………..
Traceback (most recent call last):
File "C:\Python25\test.py", line 65, in <module>
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
SystemExit: 0
>>> ================================ RESTART ================================
>>>
FerromanВопрос как создать элементарное GUI приложение. В этой ветке потому что с этого мне легче начать изучение питона.
Но,в чём вопрос я не понял. И почему в этой ветке?
ZAN- я же говорил, что print 'hello, world! не предлагать! В моём примере явно есть: форма, кнопка и событие на кнопку с показом сообщения!
Да можно.
1. Создать модуль main.py
Добавить в него необходимый код (в частности, редактировать можно с помощью IDLE)………
#!/usr/bin/python
import pygtk
pygtk.require('2.0')
import gtk
import gtk.glade
class Server:
def __init__(self):
self.wTree=gtk.glade.XML('test_glade.glade') # XML диалога
self.win=self.wTree.get_widget('window1') # берём окно из xml ки и т.д.
self.cmd_edit=self.wTree.get_widget('entry1')
self.about=self.wTree.get_widget("aboutdialog1")
self.log_view=self.wTree.get_widget("textview1")
self.log_buf=gtk.TextBuffer(None)
self.log_view.set_buffer(self.log_buf)
self.win.set_focus(self.cmd_edit)
self.signals={
'on_window1_hide':gtk.main_quit,
'on_imagemenuitem5_activate':gtk.main_quit,
'on_imagemenuitem10_activate':lambda w: self.about.show(),
'on_aboutdialog1_close': lambda w,p: self.about.hide(),
'on_button1_clicked': self.cmd,
'on_entry1_key_press_event': self.entry1_key_press,
}
self.wTree.signal_autoconnect(self.signals)
self.log('Init')
def entry1_key_press(self,w,p):
if p.string=='\r':
self.cmd(w)
def cmd(self,w):
self.log(self.cmd_edit.get_text())
self.cmd_edit.set_text('')
def debug(self,w):
print 'debug'
def log(self,text):
text+='\n'
self.log_buf.insert_at_cursor(text,len(text))
if __name__ == '__main__':
app=Server()
gtk.main()