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

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

时间: 2024-10-22 22:29:43

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

c# winform 循环遍历界面上的所有控件,foreach,Controls,AllowDrop

foreach (System.Windows.Forms.Control control in this.groupBox2.Controls)//遍历groupBox2上的所有控件 { if (control is System.Windows.Forms.PictureBox) { System.Windows.Forms.PictureBox pb = (System.Windows.Forms.PictureBox)control; pb.AllowDrop = true; } if

学习方法和阶段介绍 、 iOS界面开发引入 、 构造第一个App 、 视图控制器和视图 、 控件与事件 、 InterfaceBuilder

1 创建并运行第一个App 1.1 问题 使用Xcode创建一个App项目,该应用实现功能在界面上显示Hello World标签,在模拟器中的运行结果如图-1所示: 图-1 1.2 方案 分析图-1,首先使用Xcode创建一个Single ViewApplicaton应用,起名为MyFirstApp,如图-2所示: 图-2 然后删除Xcode的导航栏里只保留TRAppDelegate.h文件和TRAppDelageat.m文件,其他代码文件.storyboard文件以及xib文件删除,如图-3所

cesium编程入门(四)界面介绍及小控件隐藏

感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV) Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务. Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助. Animation : 动画器件,控制视图动画的播放速度.

WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用

http://www.cnblogs.com/wuhuacong/archive/2009/07/09/1520082.html 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的共享软件中使用布局控件"WeifenLuo.WinFormsUI.Docking". 布局控件"WeifenLuo.WinFormsUI.Docking"是一个非常棒的开源控件,用过的人都深有体会,该控件之强大.美观.不亚于商业控件.而且控件使用也是比较简单的.先看看控件使用

Android界面编程——Android基本控件

 Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员如何才能开发出友好的图形界面呢.实际上Android提供了非常丰富UI(User Interface)控件,开发者只要掌握了这些控件的特性,按照一定的规律,就可以像堆积木一样开发出友好的图形界面. 本章内容将介绍常用控件的具体用法. 2.1  Android UI的基础知识 Android中所有的

.net 遍历界面上所有的控件,替换危险字符,例如单引号。

public string myrePlaceChar(string inputString, int maxLength) { StringBuilder retVal = new StringBuilder(); // 检查是否为空 if ((inputString != null) && (inputString != String.Empty)) { inputString = inputString.Trim(); //检查长度 if (inputString.Length &g

在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件

在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项目,我都时不时需要定制一些特殊的用户控件,以方便在界面模块中反复使用.我们一般是在自定义的用户控件里面,添加各种各样的界面控件元素,或者封装一些特殊的函数处理共外部调用等.本篇随笔主要介绍基于DevExpress的Winform开发经验,介绍一个类似看板信息的用户控件,并在TabelLayout和S

设计个人介绍界面(用SWING控件)

这里不再一一显示截图 源码如下: package introduce; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; class introduce extends JFrame { public introduce() { JFrame a=n

设计个人介绍界面(用SWING控件),并添加各种组件练习

实验效果图如下: 源代码如下: package introduce; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.*; class introduce extends JFrame { public introduce() { JFrame a=new JFrame(); a.setLayout(new FlowLayout()); a.setTitle("Introduction"