wxpython使用实例_wxPython实例一
效果:
代码:
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实例一相关推荐
- wxpython使用实例_wxPython中文教程入门实例
wxPython中文教程入门实例 wx.Window 是一个基类,许多构件从它继承.包括 wx.Frame 构件. 可以在所有的子类中使用 wx.Window 的方法. wxPython的几种方法: ...
- wxPython中文教程入门实例
这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下 wxPython中文教程入门实例 wx.Window 是一个基类,许多构 ...
- java 读取文件内容 实例_Java 实例 – 读取文件内容 - Java 基础教程
Java 实例 以下实例演示了使用 readLine() 方法来读取文件 test.log 内容,其中 test.log 文件内容为: 本站 www.runoob.com java 代码如下: Mai ...
- Java实例---flappy-bird实例[最终版]
代码分析 解析版: Java实例---flappy-bird实例解析 完整版: TestBirdFly.java 1 package testfly; 2 3 import java.awt.Colo ...
- Memcached实战之单机部署----单实例/多实例
memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.memcached基 ...
- wxpython中文教程_wxPython中文教程 简单入门加实例
wxPython中文教程简单入门加实例 博客分类: Python 2 / Wxpython wxPythonPython编程浏览器脚本 wx.Window 是一个基类,许多构件从它继承.包括 wx.F ...
- 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 ...
- wxpython应用实例_wxPython定时器wx.Timer简单应用实例
# -*- coding: utf-8 -*- ######################################################## ## 这是wxPython定时器wx. ...
- wxpython富文本_Python实例讲解 -- wxpython 基本的控件 (文本)
使用基本的控件工作 wxPython 工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件.我们涉及静态文本.可编辑的文本.按钮.微调.滑块.复选框.单选按钮.选择器.列表框.组合框和标尺.对于 ...
最新文章
- Altium Designer旋转PCB、PCB中绕某点旋转
- python与excel做数据可视化-python做可视化数据分析,究竟怎么样?
- WPF入门教程系列三——Application介绍(续)
- Python中的and和or
- java 泰勒级数_鸡群优化算法(CSO)、蜻蜓算法(DA)、乌鸦搜索算法(CSA)、泰勒级数(Taylor series)...
- 使用Java Servlet,JSP标签和Stormpath快速构建Java Web App
- java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器
- 搞定面试算法系列 | 分治算法三步走
- 使用实例 ---- 使用NUnit在.Net编程中进行单元测试
- win10升级后ctrl+shift+f失效了(zend studio)问题解决
- python 除法 保留2位小数
- InfoQ编辑2018年推荐阅读清单(第二部分)
- vs2019番茄助手 附安装教程
- 关于三极管的理解---根据IC符号简易迅速判断三极管导通情况
- 雷电云手机无限雷币版v1.60
- 零基础玩转树莓派(六)—遥控小车
- 初步了解FPGA中的HLS
- 计算机主机usb端口使用不了,电脑usb接口不能用怎么办
- 自然语言处理 cs224n 2019 Lecture 11: ConvNets for NLP
- python的输入函数是什么意思_在Python中,用于获取用户输入的函数是