python windows程序实例_基于wxpython实现的windows GUI程序实例

# using a wx.Frame, wx.MenuBar, wx.Menu, wx.Panel, wx.StaticText, wx.Button,

# and a wx.BoxSizer to show a rudimentary wxPython Windows GUI application

# wxPython package from: http://prdownloads.sourceforge.net/wxpython/

# I downloaded: wxPython2.5-win32-ansi-2.5.3.1-py23.exe

# if you have not already done so install the Python compiler first

# I used Python-2.3.4.exe (the Windows installer package for Python23)

# from http://www.python.org/2.3.4/

# tested with Python23 vegaseat 24jan2005

import wx

class Frame1(wx.Frame):

# create a simple windows frame (sometimes called form)

# pos=(ulcX,ulcY) size=(width,height) in pixels

def __init__(self, parent, title):

wx.Frame.__init__(self, parent, -1, title, pos=(150, 150), size=(350, 250))

# create a menubar at the top of the user frame

menuBar = wx.MenuBar()

# create a menu ...

menu = wx.Menu()

# ... add an item to the menu

# \tAlt-X creates an accelerator for Exit (Alt + x keys)

# the third parameter is an optional hint that shows up in

# the statusbar when the cursor moves across this menu item

menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit the program")

# bind the menu event to an event handler, share QuitBtn event

self.Bind(wx.EVT_MENU, self.OnQuitButton, id=wx.ID_EXIT)

# put the menu on the menubar

menuBar.Append(menu, "&File")

self.SetMenuBar(menuBar)

# create a status bar at the bottom of the frame

self.CreateStatusBar()

# now create a panel (between menubar and statusbar) ...

panel = wx.Panel(self)

# ... put some controls on the panel

text = wx.StaticText(panel, -1, "Hello World!")

text.SetFont(wx.Font(24, wx.SCRIPT, wx.NORMAL, wx.BOLD))

text.SetSize(text.GetBestSize())

quitBtn = wx.Button(panel, -1, "Quit")

messBtn = wx.Button(panel, -1, "Message")

# bind the button events to event handlers

self.Bind(wx.EVT_BUTTON, self.OnQuitButton, quitBtn)

self.Bind(wx.EVT_BUTTON, self.OnMessButton, messBtn)

# use a sizer to layout the controls, stacked vertically

# with a 10 pixel border around each

sizer = wx.BoxSizer(wx.VERTICAL)

sizer.Add(text, 0, wx.ALL, 10)

sizer.Add(quitBtn, 0, wx.ALL, 10)

sizer.Add(messBtn, 0, wx.ALL, 10)

panel.SetSizer(sizer)

panel.Layout()

def OnQuitButton(self, evt):

# event handler for the Quit button click or Exit menu item

print "See you later alligator! (goes to stdout window)"

wx.Sleep(1) # 1 second to look at message

self.Close()

def OnMessButton(self, evt):

# event handler for the Message button click

self.SetStatusText('101 Different Ways to Spell "Spam"')

class wxPyApp(wx.App):

def OnInit(self):

# set the title too

frame = Frame1(None, "wxPython GUI 2")

self.SetTopWindow(frame)

frame.Show(True)

return True

# get it going ...

app = wxPyApp(redirect=True)

app.MainLoop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值