最简单的wxPython的界面设计

来源:互联网 发布:公司网络限制 编辑:程序博客网 时间:2024/05/14 15:01


[python] view plaincopy
  1. #!/bin/env python  
  2. # -*- coding: utf-8 -*-   
  3.   
  4. #################################################################################  
  5. #这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有  
  6. #################################################################################  
  7. import wx  
  8.   
  9. class MyFrame(wx.Frame):  
  10.   
  11.     def __init__(self):  
  12.         wx.Frame.__init__(self, parent=None,title="My Test Frame",pos = (100,100), size=(500,450))  
  13.           
  14.         #添加第1个Panel面板  
  15.         panel1 = wx.Panel(parent=self,pos = (0,80), size=(225250))  
  16.         panel1.Bind(wx.EVT_MOTION,  self.OnPanel1Move)  
  17.         #添加其他控件  
  18.         wx.StaticText(parent=panel1, label= " Cursor Pos:", pos=(1010),size=(10025))  
  19.         self.posCtrl1 = wx.TextCtrl(parent=panel1, value = "0,0", pos=(10010),size=(10025))  
  20.           
  21.         #添加第2个Panel面板  
  22.         panel2 = wx.Panel(parent=self,pos = (275,80), size=(225250))  
  23.         #添加其他控件  
  24.         wx.StaticText(parent=panel2,label= " The Second Panel", pos=(1050),size=(15025))  
  25.         self.btn=wx.Button(parent=panel2,label= " My Button",pos=(10100),size=(15025))  
  26.         self.btn.Bind(wx.EVT_BUTTON,  self.OnMyButtonClick)  
  27.           
  28.         #添加wxStatusBar工具条  
  29.         self.sb=self.CreateStatusBar(number =3)  
  30.         self.SetStatusText("One",0)  
  31.         self.SetStatusText("Two",1)  
  32.         self.SetStatusText("Three",2)  
  33.   
  34.         #添加wxToolBar  
  35.         self.tb=self.CreateToolBar()  
  36.         bitmap1 = wx.EmptyBitmapRGBA(3224, red=0, green=0, blue=0, alpha=100)  
  37.         self.tb.AddSeparator()  
  38.         self.tb.AddLabelTool(1,'',bitmap1)  
  39.         self.tb.AddSeparator()  
  40.         bitmap2 = wx.EmptyBitmapRGBA(3224, red=0, green=0, blue=0, alpha=150)          
  41.         self.tb.AddLabelTool(2,'',bitmap2)          
  42.         self.tb.Realize()  
  43.           
  44.         #添加wxMenuBar菜单,提供了几种创建菜单的方式  
  45.         menubar = wx.MenuBar()  
  46.         #一级主菜单  
  47.         file = wx.Menu()  
  48.         file.Append(-1'&New')  
  49.         file.Append(-1'&Open')  
  50.         file.Append(-1'&Save')  
  51.         file.AppendSeparator()  
  52.         #多级子菜单  
  53.         imp = wx.Menu()   
  54.         imp.Append(-1'Import newsfeed list...')  
  55.         imp.Append(-1'Import bookmarks...')  
  56.         imp.Append(-1'Import mail...')  
  57.   
  58.         file.AppendMenu(-1'I&mport', imp)  
  59.         file.AppendSeparator()  
  60.         #再添加一个菜单  
  61.         quit = wx.MenuItem(file, wx.ID_CLOSE, '&Quit/tCtrl+W')  
  62.         self.Bind(wx.EVT_MENU, self.OnQuit, id=wx.ID_CLOSE) #绑定方法  
  63.         file.AppendItem(quit)  
  64.   
  65.         menubar.Append(file, '&File')  
  66.         self.SetMenuBar(menubar)  
  67.           
  68.         self.Centre() #居中显示  
  69.         self.Show(True)#总是一创建就显示Frame框架,  
  70.   
  71.   
  72.           
  73.         #定义事件方法  
  74.     def OnPanel1Move(self, event): #在Panel1上面移动的时调用  
  75.         pos = event.GetPosition()  
  76.         self.posCtrl1.SetValue("%s, %s" % (pos.x, pos.y))  
  77.           
  78.     def OnMyButtonClick(self,event): #在按钮上面单击调用  
  79.         self.btn.SetLabel("You Clicked!")  
  80.           
  81.     def OnQuit(self, event): #点击退出菜单时调用  
  82.         self.Close()  
  83.           
  84.           
  85. #################################################################################  
  86. if __name__ == '__main__':  
  87.     app = wx.App()  
  88.     frame = MyFrame()  
  89.     app.MainLoop()  
  90. #################################################################################  


 

[python] view plaincopy
  1. #!/bin/env python  
  2. # -*- coding: utf-8 -*-   
  3.   
  4. #################################################################################  
  5. #这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有  
  6. #################################################################################  
  7. import wx  
  8.   
  9. class MyFrame(wx.Frame):  
  10.   
  11.     def __init__(self):  
  12.         wx.Frame.__init__(self, parent=None,title="My Test Frame",pos = (100,100), size=(500,450))  
  13.           
  14.         #添加第1个Panel面板  
  15.         panel1 = wx.Panel(parent=self,pos = (0,80), size=(225250))  
  16.         panel1.Bind(wx.EVT_MOTION,  self.OnPanel1Move)  
  17.         #添加其他控件  
  18.         wx.StaticText(parent=panel1, label= " Cursor Pos:", pos=(1010),size=(10025))  
  19.         self.posCtrl1 = wx.TextCtrl(parent=panel1, value = "0,0", pos=(10010),size=(10025))  
  20.           
  21.         #添加第2个Panel面板  
  22.         panel2 = wx.Panel(parent=self,pos = (275,80), size=(225250))  
  23.         #添加其他控件  
  24.         wx.StaticText(parent=panel2,label= " The Second Panel", pos=(1050),size=(15025))  
  25.         self.btn=wx.Button(parent=panel2,label= " My Button",pos=(10100),size=(15025))  
  26.         self.btn.Bind(wx.EVT_BUTTON,  self.OnMyButtonClick)  
  27.           
  28.         #添加wxStatusBar工具条  
  29.         self.sb=self.CreateStatusBar(number =3)  
  30.         self.SetStatusText("One",0)  
  31.         self.SetStatusText("Two",1)  
  32.         self.SetStatusText("Three",2)  
  33.   
  34.         #添加wxToolBar  
  35.         self.tb=self.CreateToolBar()  
  36.         bitmap1 = wx.EmptyBitmapRGBA(3224, red=0, green=0, blue=0, alpha=100)  
  37.         self.tb.AddSeparator()  
  38.         self.tb.AddLabelTool(1,'',bitmap1)  
  39.         self.tb.AddSeparator()  
  40.         bitmap2 = wx.EmptyBitmapRGBA(3224, red=0, green=0, blue=0, alpha=150)          
  41.         self.tb.AddLabelTool(2,'',bitmap2)          
  42.         self.tb.Realize()  
  43.           
  44.         #添加wxMenuBar菜单,提供了几种创建菜单的方式  
  45.         menubar = wx.MenuBar()  
  46.         #一级主菜单  
  47.         file = wx.Menu()  
  48.         file.Append(-1'&New')  
  49.         file.Append(-1'&Open')  
  50.         file.Append(-1'&Save')  
  51.         file.AppendSeparator()  
  52.         #多级子菜单  
  53.         imp = wx.Menu()   
  54.         imp.Append(-1'Import newsfeed list...')  
  55.         imp.Append(-1'Import bookmarks...')  
  56.         imp.Append(-1'Import mail...')  
  57.   
  58.         file.AppendMenu(-1'I&mport', imp)  
  59.         file.AppendSeparator()  
  60.         #再添加一个菜单  
  61.         quit = wx.MenuItem(file, wx.ID_CLOSE, '&Quit/tCtrl+W')  
  62.         self.Bind(wx.EVT_MENU, self.OnQuit, id=wx.ID_CLOSE) #绑定方法  
  63.         file.AppendItem(quit)  
  64.   
  65.         menubar.Append(file, '&File')  
  66.         self.SetMenuBar(menubar)  
  67.           
  68.         self.Centre() #居中显示  
  69.         self.Show(True)#总是一创建就显示Frame框架,  
  70.   
  71.   
  72.           
  73.         #定义事件方法  
  74.     def OnPanel1Move(self, event): #在Panel1上面移动的时调用  
  75.         pos = event.GetPosition()  
  76.         self.posCtrl1.SetValue("%s, %s" % (pos.x, pos.y))  
  77.           
  78.     def OnMyButtonClick(self,event): #在按钮上面单击调用  
  79.         self.btn.SetLabel("You Clicked!")  
  80.           
  81.     def OnQuit(self, event): #点击退出菜单时调用  
  82.         self.Close()  
  83.           
  84.           
  85. #################################################################################  
  86. if __name__ == '__main__':  
  87.     app = wx.App()  
  88.     frame = MyFrame()  
  89.     app.MainLoop()  
  90. #################################################################################  


 

0 0
原创粉丝点击