码迷,mamicode.com
首页 > 编程语言 > 详细

#这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有

时间:2017-02-05 23:57:40      阅读:470      评论:0      收藏:0      [点我收藏+]

标签:utf-8   alt   csdn   ane   pos   .sh   file   多级   事件   

  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=(225, 250))  
  16.         panel1.Bind(wx.EVT_MOTION,  self.OnPanel1Move)  
  17.         #添加其他控件  
  18.         wx.StaticText(parent=panel1, label= " Cursor Pos:", pos=(10, 10),size=(100, 25))  
  19.         self.posCtrl1 = wx.TextCtrl(parent=panel1, value = "0,0", pos=(100, 10),size=(100, 25))  
  20.           
  21.         #添加第2个Panel面板  
  22.         panel2 = wx.Panel(parent=self,pos = (275,80), size=(225, 250))  
  23.         #添加其他控件  
  24.         wx.StaticText(parent=panel2,label= " The Second Panel", pos=(10, 50),size=(150, 25))  
  25.         self.btn=wx.Button(parent=panel2,label= " My Button",pos=(10, 100),size=(150, 25))  
  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(32, 24, 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(32, 24, 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. #################################################################################  
  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=(225, 250))  
  16.         panel1.Bind(wx.EVT_MOTION,  self.OnPanel1Move)  
  17.         #添加其他控件  
  18.         wx.StaticText(parent=panel1, label= " Cursor Pos:", pos=(10, 10),size=(100, 25))  
  19.         self.posCtrl1 = wx.TextCtrl(parent=panel1, value = "0,0", pos=(100, 10),size=(100, 25))  
  20.           
  21.         #添加第2个Panel面板  
  22.         panel2 = wx.Panel(parent=self,pos = (275,80), size=(225, 250))  
  23.         #添加其他控件  
  24.         wx.StaticText(parent=panel2,label= " The Second Panel", pos=(10, 50),size=(150, 25))  
  25.         self.btn=wx.Button(parent=panel2,label= " My Button",pos=(10, 100),size=(150, 25))  
  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(32, 24, 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(32, 24, 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. #################################################################################  


技术分享

#这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有

标签:utf-8   alt   csdn   ane   pos   .sh   file   多级   事件   

原文地址:http://www.cnblogs.com/chengxuyuan326260/p/6368809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!