效果:

代码:

import wx

class MyFrame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, None, -1, 'My Frame', size=(300, 300))

panel = wx.Panel(self, -1)

panel.Bind(wx.EVT_MOTION, self.OnMove)

wx.StaticText(panel, -1, 'Pos:', pos=(10, 12))

self.posCtrl = wx.TextCtrl(panel, -1, '', pos=(40, 10))

def OnMove(self, event):

pos = event.GetPosition()

self.posCtrl.SetValue('%s, %s' % (pos.x, pos.y))

if __name__ == '__main__':

app = wx.PySimpleApp()

frame = MyFrame()

frame.Show(True)

app.MainLoop()

效果:

代码:

# -*- coding: utf-8 -*-

import wx #导入必须的wxPython包

class App(wx.App): #子类化wxPython应用程序类

def OnInit(self): #定义一个应用程序的初始化方法,将被wx.App父类调用。

#定义了一个没有父亲的框架,它是一个顶级的框架

frame = wx.Frame(parent=None, title='Bare')

#给Show方法一个布尔值参数来设定frame的可见性,默认True

frame.Show()

return True

app = App() #创建一个应用程序类的实例

app.MainLoop() #进入这个应用程序的主事件循环

效果:

代码:

# -*- coding: utf-8 -*-

import wx

class Frame(wx.Frame): #wx.Frame的子类

def __init__(self, image, parent=None, id=-1,

pos=wx.DefaultPosition,

title='Hello, wxPython!'):

temp = image.ConvertToBitmap()

size = temp.GetWidth(), temp.GetHeight() #用图像的宽度和高度创建一个size元组

wx.Frame.__init__(self, parent, id, title, pos, size)

#用wx.StaticBitmap控件来显示这个图像,它要求一个位图

self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)

class App(wx.App): #wx.App的子类,这是wxPython应用程序最基本的要求

def OnInit(self): #定义一个应用程序的初始化方法,将被wx.App父类调用。

image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)

self.frame = Frame(image)

#给Show方法一个布尔值参数来设定frame的可见性,默认True

self.frame.Show()

#一个wxPython程序可以有几个框架,其中有一个是被设计为应用程序的顶级窗口的

self.SetTopWindow(self.frame)

#如果所返回的值是False,则应用程序将立即退出

return True

if __name__ == '__main__':

app = App() #创建一个应用程序类的实例

app.MainLoop() #进入这个应用程序的主事件循环

应用程序对象的生命周期

效果:

代码:

# -*- coding: utf-8 -*-

import wx

import sys

class Frame(wx.Frame):

def __init__(self, parent, id, title):

print 'Frame __init__'

wx.Frame.__init__(self, parent, id, title)

class App(wx.App):

def __init__(self, redirect=True, filename=None):

print 'App __init__'

wx.App.__init__(self, redirect, filename)

def OnInit(self):

print 'OnInit' #输出到stdout

self.frame = Frame(parent=None, id=-1, title='Startup') #创建框架

self.frame.Show()

self.SetTopWindow(self.frame)

print >> sys.stderr, 'A pretend error message' #输出到stderr

return True

def OnExit(self):

print 'OnExit'

if __name__ == '__main__':

#标准输出流sys.stdout和标准错误流sys.stderr是否重定向

#输出到控制台

#app = App(redirect=False)

#输出到filename所指定的文件中

#app = App(redirect=True, filename='output')

#应用程序创建了一个空的框架和生成了一个用于重定向输出的框架

app = App(redirect=True)

print 'before MainLoop'

app.MainLoop() #2 进入主事件循环

print 'after MainLoop'

效果:

代码:

# -*- coding: utf-8 -*-

import wx

import wx.py.images as images

class ToolbarFrame(wx.Frame):

def __init__(self, parent, id):

wx.Frame.__init__(self, parent, id, 'Toolbars', size=(500, 400))

self.panel = wx.Panel(self)

self.panel.SetBackgroundColour('White')

self.statusBar = self.CreateStatusBar() #创建状态栏

self.toolbar = self.CreateToolBar() #创建工具栏

self.toolbar.AddSimpleTool(wx.NewId(), images.getPyBitmap(), 'New', 'Long help for "New"') #给工具栏增加一个工具

self.toolbar.Realize() #准备显示工具栏

self.menuBar = wx.MenuBar() #创建菜单栏

# 创建两个菜单

menu1 = wx.Menu()

self.menuBar.Append(menu1, '&File')

menu2 = wx.Menu()

#创建菜单的项目

menu2.Append(wx.NewId(), '&Copy', 'Copy in status bar')

menu2.Append(wx.NewId(), 'C&ut', '')

menu2.Append(wx.NewId(), 'Paste', '')

menu2.AppendSeparator()

menu2.Append(wx.NewId(), '&Options...', 'Display Options')

self.menuBar.Append(menu2, '&Edit') # 在菜单栏上附上菜单

self.SetMenuBar(self.menuBar) #在框架上附上菜单栏

if __name__ == '__main__':

app = wx.PySimpleApp()

frame = ToolbarFrame(parent=None, id=-1)

frame.Show()

app.MainLoop()

效果:

代码:

# -*- coding: utf-8 -*-

import wx

if __name__ == '__main__':

app = wx.PySimpleApp()

dialog = wx.MessageDialog(None, 'Is this the coolest thing ever!',

'MessageDialog', wx.OK | wx.ICON_QUESTION | wx.CANCEL)

#将对话框以模式框架的方式显示,这意味着在对话框关闭之前,

#应用程序中的别的窗口不能响应用户事件.对于wx.MessageDialog,返回值

#是下面常量之一: wx.ID_YES, wx.ID_NO, wx.ID_CANCEL, wx.ID_OK

result = dialog.ShowModal()

dialog.Destroy()

app.MainLoop()

效果:

代码:

# -*- coding: utf-8 -*-

import wx

if __name__ == '__main__':

app = wx.PySimpleApp()

dlg = wx.TextEntryDialog(None, "Who is buried in Grant's tomb?", 'A Question', 'Cary Grant')

if dlg.ShowModal() == wx.ID_OK:

response = dlg.GetValue()

print response

效果:

# -*- coding: utf-8 -*-

import wx

if __name__ == '__main__':

app = wx.PySimpleApp()

dlg = wx.SingleChoiceDialog(None, 'What version of Python are you using?',

'Single Choice', ['1.5.2', '2.0', '2.1.3', '2.2', '2.3.1'])

if dlg.ShowModal() == wx.ID_OK:

index = dlg.GetSelection()#返回用户选项的索引

response = dlg.GetStringSelection()#返回实际所选的字符串

print index, ': ', response

wxpython使用实例_wxPython实例一相关推荐

  1. wxpython使用实例_wxPython中文教程入门实例

    wxPython中文教程入门实例 wx.Window 是一个基类,许多构件从它继承.包括 wx.Frame 构件. 可以在所有的子类中使用 wx.Window 的方法. wxPython的几种方法: ...

  2. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下 wxPython中文教程入门实例 wx.Window 是一个基类,许多构 ...

  3. java 读取文件内容 实例_Java 实例 – 读取文件内容 - Java 基础教程

    Java 实例 以下实例演示了使用 readLine() 方法来读取文件 test.log 内容,其中 test.log 文件内容为: 本站 www.runoob.com java 代码如下: Mai ...

  4. Java实例---flappy-bird实例[最终版]

    代码分析 解析版: Java实例---flappy-bird实例解析 完整版: TestBirdFly.java 1 package testfly; 2 3 import java.awt.Colo ...

  5. Memcached实战之单机部署----单实例/多实例

    memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.memcached基 ...

  6. wxpython中文教程_wxPython中文教程 简单入门加实例

    wxPython中文教程简单入门加实例 博客分类: Python 2 / Wxpython wxPythonPython编程浏览器脚本 wx.Window 是一个基类,许多构件从它继承.包括 wx.F ...

  7. wxpython列表框_wxpython中列表框(ListBox类)、复选列表框(CheckListBox)、下拉选项(Choice)、进度条(Gauge)、滑块(Slider)使用实例源码分享...

    #coding=utf-8 import wx import time class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(s ...

  8. wxpython应用实例_wxPython定时器wx.Timer简单应用实例

    # -*- coding: utf-8 -*- ######################################################## ## 这是wxPython定时器wx. ...

  9. wxpython富文本_Python实例讲解 -- wxpython 基本的控件 (文本)

    使用基本的控件工作 wxPython 工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件.我们涉及静态文本.可编辑的文本.按钮.微调.滑块.复选框.单选按钮.选择器.列表框.组合框和标尺.对于 ...

最新文章

  1. Altium Designer旋转PCB、PCB中绕某点旋转
  2. python与excel做数据可视化-python做可视化数据分析,究竟怎么样?
  3. WPF入门教程系列三——Application介绍(续)
  4. Python中的and和or
  5. java 泰勒级数_鸡群优化算法(CSO)、蜻蜓算法(DA)、乌鸦搜索算法(CSA)、泰勒级数(Taylor series)...
  6. 使用Java Servlet,JSP标签和Stormpath快速构建Java Web App
  7. java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器
  8. 搞定面试算法系列 | 分治算法三步走
  9. 使用实例 ---- 使用NUnit在.Net编程中进行单元测试
  10. win10升级后ctrl+shift+f失效了(zend studio)问题解决
  11. python 除法 保留2位小数
  12. InfoQ编辑2018年推荐阅读清单(第二部分)
  13. vs2019番茄助手 附安装教程
  14. 关于三极管的理解---根据IC符号简易迅速判断三极管导通情况
  15. 雷电云手机无限雷币版v1.60
  16. 零基础玩转树莓派(六)—遥控小车
  17. 初步了解FPGA中的HLS
  18. 计算机主机usb端口使用不了,电脑usb接口不能用怎么办
  19. 自然语言处理 cs224n 2019 Lecture 11: ConvNets for NLP
  20. python的输入函数是什么意思_在Python中,用于获取用户输入的函数是

热门文章

  1. 仿世纪佳缘会员注册页
  2. Python爬虫爬取疫情数据并可视化展示
  3. 图文并茂详细教程之——用pixhawk飞控组装一台S500四轴无人机(上)(苍穹四轴)
  4. 机器学习 -- 二元逻辑回归实例
  5. 长期接受碎片化信息,会有什么后果?
  6. 多媒体设计与制作是什么专业?
  7. 分治法的简单应用 | Koch Curve | 科赫曲线 | C/C++实现
  8. java正则表达式保姆级教程,从小白到高手
  9. 问卷中多选题如何分析?
  10. 闲话中国人的竖式乘法和埃及人的二分乘法