wxpython 学习笔记 第一天
程序员文章站
2022-04-28 10:38:22
1,导入 wxpython 库 import wx 2,建立窗体构造类 class 名字(wx.frame): def __init__(self, parent, id)...
1,导入 wxpython 库
import wx
2,建立窗体构造类
class 名字(wx.frame):
def __init__(self, parent, id):
wx.frame.__init__(self, parent, id, '工具',size=(300, 200))
3,建立 面板 panel = wx.panel(self)
设置面板背景
panel.setbackgroundcolour('white')
为状态显示栏,显示在面板最下面
wx.frame.createstatusbar()
#这个为工具菜单,显示在窗体上面,工具菜单一般是有图标的菜单
wx.frame.createtoolbar()
#为菜单也是显示在窗体上面
wx.menubar()
#菜单栏上面的具体菜单
wx.menu()
关于事件
wx.frame.bind
参数一,绑定的时间类型
参数二,触发的函数
参数三,确定那个窗体上的id触发
关于图片处理
#获取图片对象
image = wx.image('yuanxiao.jpg', wx.bitmap_type_jpeg)
#取得位图流
temp = image.converttobitmap()
关于具体菜单栏
append方法添加菜单项
参数一,菜单项唯一id
参数二,菜单项名称
参数三,选择该菜单时的状态栏显示文字
appendmenu方法为添加下一级菜单
参数一,菜单项唯一id
参数二,菜单项名称
参数三,具体的菜单项对象
关于窗体的构造函数
wx.frame(parent, id=-1, title="", pos=wx.defaultposition,
size=wx.defaultsize, style=wx.default_frame_style,
name="frame")
我们在别的窗口部件的构造器中将会看到类似的参数。参数的说明如下:
parent:框架的父窗口。对于*窗口,这个值是none。框架随其父窗口的销毁而销毁。取决于平台,框架可被限制只出现在父窗口的顶部。在多文档界面的情况下,子窗口被限制为只能在父窗口中移动和缩放。
id:关于新窗口的wxpython id号。你可以明确地传递一个。或传递-1,这将导致wxpython自动生成一个新的id。
title:窗口的标题。
pos:一个wx.point对象,它指定这个新窗口的左上角在屏幕中的位置。在图形用户界面程序中,通常(0,0)是显示器的左上角。这个默认的(-1,-1)将让系统决定窗口的位置。
size:一个wx.size对象,它指定这个窗口的初始尺寸。这个默认的(-1,-1)将让系统决定窗口的初始尺寸。
style:指定窗口的类型的常量。你可以使用或运算来组合它们。
name:框架的内在的名字。以后你可以使用它来寻找这个窗口。
记住,这些参数将被传递给父类的构造器方法:wx.frame.__init__()。
创建wx.frame子类的方法如下所示:
class myframe(wx.frame):
def __init__(self):
wx.frame.__init__(self, none, -1, "my friendly window",
(100, 100), (100, 100))
关于框架的一些属性
frame.show(false) # 使框架不可见.
frame.show(true) # true是默认值,使框架可见.
frame.hide() # 等同于frame.show(false)
关闭窗体
wx.exit()
实例程序
#设置python使用的编码
#coding=utf-8
#加载wx库
import wx
#框架类
class toolbarframe(wx.frame):
def __init__(self, parent, id):#构造函数
#构造框架
wx.frame.__init__(self, parent, id, '工具',size=(300, 200))
#填充面板
panel = wx.panel(self)
#设置面板背景颜色
panel.setbackgroundcolour('white')
#建立状态栏
statusbar = self.createstatusbar()
#建立工具栏
toolbar = self.createtoolbar()
#取得工具栏图标对象
image = wx.image('yuanxiao.jpg', wx.bitmap_type_jpeg)
#取得图标位图流
temp = image.converttobitmap()
#建立工具栏
toolbar.addsimpletool(wx.newid(),temp, "new", "long help for 'new'")
#设置工具栏位置
toolbar.realize()
#建立菜单栏
menubar = wx.menubar()
#建立菜单项
menu1 = wx.menu()
#添加下级菜单项
menu1.append(wx.newid(), "c&ut", "copy in status bar")
#设置菜单项里的分割线
menu1.appendseparator()
sm = wx.menu()
sm.append(-1,'测试1');
sm.append(-1,'测试2');
#把二级菜单项添加到一级菜单
menu1.appendmenu(-1,'下级',sm);
#把菜单项添加单菜单栏里
menubar.append(menu1, "文件(&f)")
menu2 = wx.menu()
nid = wx.newid()
menu2.append(nid, "©", "copy in status bar")
#事件绑定
self.bind(wx.evt_menu, self.onquit, id=nid)
menu2.append(wx.newid(), "c&ut", "")
menu2.append(wx.newid(), "&paste", "")
menu2.appendseparator()
menu2.append(wx.newid(), "&options...", "display options")
menubar.append(menu2, "&edit")
#设置菜单栏展示
self.setmenubar(menubar)
#触发的事件
def onquit(self, event):
#弹出框
dlg = wx.messagedialog(none, 'is this the coolest thing ever!','messagedialog', wx.yes_no | wx.icon_question)
result = dlg.showmodal()
dlg.destroy()
#执行
if __name__ == '__main__':
app = wx.pysimpleapp()
frame = toolbarframe(parent=none, id=-1)
frame.show()
app.mainloop()
开源项目介绍
http://onlypython.group.javaeye.com/group/blog/309552
讲解开发
http://rainytooo.javaeye.com/blog/150228
wxpython in action 中文文档
http://www.pythontik.com/blog/article.asp?id=184
作者 叁石 sanshi0815
import wx
2,建立窗体构造类
class 名字(wx.frame):
def __init__(self, parent, id):
wx.frame.__init__(self, parent, id, '工具',size=(300, 200))
3,建立 面板 panel = wx.panel(self)
设置面板背景
panel.setbackgroundcolour('white')
为状态显示栏,显示在面板最下面
wx.frame.createstatusbar()
#这个为工具菜单,显示在窗体上面,工具菜单一般是有图标的菜单
wx.frame.createtoolbar()
#为菜单也是显示在窗体上面
wx.menubar()
#菜单栏上面的具体菜单
wx.menu()
关于事件
wx.frame.bind
参数一,绑定的时间类型
参数二,触发的函数
参数三,确定那个窗体上的id触发
关于图片处理
#获取图片对象
image = wx.image('yuanxiao.jpg', wx.bitmap_type_jpeg)
#取得位图流
temp = image.converttobitmap()
关于具体菜单栏
append方法添加菜单项
参数一,菜单项唯一id
参数二,菜单项名称
参数三,选择该菜单时的状态栏显示文字
appendmenu方法为添加下一级菜单
参数一,菜单项唯一id
参数二,菜单项名称
参数三,具体的菜单项对象
关于窗体的构造函数
wx.frame(parent, id=-1, title="", pos=wx.defaultposition,
size=wx.defaultsize, style=wx.default_frame_style,
name="frame")
我们在别的窗口部件的构造器中将会看到类似的参数。参数的说明如下:
parent:框架的父窗口。对于*窗口,这个值是none。框架随其父窗口的销毁而销毁。取决于平台,框架可被限制只出现在父窗口的顶部。在多文档界面的情况下,子窗口被限制为只能在父窗口中移动和缩放。
id:关于新窗口的wxpython id号。你可以明确地传递一个。或传递-1,这将导致wxpython自动生成一个新的id。
title:窗口的标题。
pos:一个wx.point对象,它指定这个新窗口的左上角在屏幕中的位置。在图形用户界面程序中,通常(0,0)是显示器的左上角。这个默认的(-1,-1)将让系统决定窗口的位置。
size:一个wx.size对象,它指定这个窗口的初始尺寸。这个默认的(-1,-1)将让系统决定窗口的初始尺寸。
style:指定窗口的类型的常量。你可以使用或运算来组合它们。
name:框架的内在的名字。以后你可以使用它来寻找这个窗口。
记住,这些参数将被传递给父类的构造器方法:wx.frame.__init__()。
创建wx.frame子类的方法如下所示:
class myframe(wx.frame):
def __init__(self):
wx.frame.__init__(self, none, -1, "my friendly window",
(100, 100), (100, 100))
关于框架的一些属性
frame.show(false) # 使框架不可见.
frame.show(true) # true是默认值,使框架可见.
frame.hide() # 等同于frame.show(false)
关闭窗体
wx.exit()
实例程序
#设置python使用的编码
#coding=utf-8
#加载wx库
import wx
#框架类
class toolbarframe(wx.frame):
def __init__(self, parent, id):#构造函数
#构造框架
wx.frame.__init__(self, parent, id, '工具',size=(300, 200))
#填充面板
panel = wx.panel(self)
#设置面板背景颜色
panel.setbackgroundcolour('white')
#建立状态栏
statusbar = self.createstatusbar()
#建立工具栏
toolbar = self.createtoolbar()
#取得工具栏图标对象
image = wx.image('yuanxiao.jpg', wx.bitmap_type_jpeg)
#取得图标位图流
temp = image.converttobitmap()
#建立工具栏
toolbar.addsimpletool(wx.newid(),temp, "new", "long help for 'new'")
#设置工具栏位置
toolbar.realize()
#建立菜单栏
menubar = wx.menubar()
#建立菜单项
menu1 = wx.menu()
#添加下级菜单项
menu1.append(wx.newid(), "c&ut", "copy in status bar")
#设置菜单项里的分割线
menu1.appendseparator()
sm = wx.menu()
sm.append(-1,'测试1');
sm.append(-1,'测试2');
#把二级菜单项添加到一级菜单
menu1.appendmenu(-1,'下级',sm);
#把菜单项添加单菜单栏里
menubar.append(menu1, "文件(&f)")
menu2 = wx.menu()
nid = wx.newid()
menu2.append(nid, "©", "copy in status bar")
#事件绑定
self.bind(wx.evt_menu, self.onquit, id=nid)
menu2.append(wx.newid(), "c&ut", "")
menu2.append(wx.newid(), "&paste", "")
menu2.appendseparator()
menu2.append(wx.newid(), "&options...", "display options")
menubar.append(menu2, "&edit")
#设置菜单栏展示
self.setmenubar(menubar)
#触发的事件
def onquit(self, event):
#弹出框
dlg = wx.messagedialog(none, 'is this the coolest thing ever!','messagedialog', wx.yes_no | wx.icon_question)
result = dlg.showmodal()
dlg.destroy()
#执行
if __name__ == '__main__':
app = wx.pysimpleapp()
frame = toolbarframe(parent=none, id=-1)
frame.show()
app.mainloop()
开源项目介绍
http://onlypython.group.javaeye.com/group/blog/309552
讲解开发
http://rainytooo.javaeye.com/blog/150228
wxpython in action 中文文档
http://www.pythontik.com/blog/article.asp?id=184
作者 叁石 sanshi0815
下一篇: SEO 初学者必读