前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Wxpython快速构建GUI窗口程序

Wxpython快速构建GUI窗口程序

作者头像
叉叉敌
发布2019-02-20 16:50:34
1.8K0
发布2019-02-20 16:50:34
举报
文章被收录于专栏:ChasaysChasaysChasays

最近学习了一下关于用wxpython来构建窗口GUI程序,关于wxFormbuilder和wxpython的用法,理解的还不是很透彻,强行此文。因此本文适合新人,请大牛们多多指教,谢谢

  • Python2.7.13
  • wxpython2.8
  • wxFormbuilder 3.8

具体的思路可以用MVC来阐述,先用wxFormBuilder来构建GUI,即View,导出一个模板Model,然后用Python来实现具体的Control。


安装python

  1. 下载 安装包: https://www.python.org/ftp/python/2.7.13/python-2.7.13.amd64.msi
  2. 下载好后,直接双击安装即可。

安装wxpython

  1. 直接用安装的pip来安装即可, 也可以指定版本来安装
pip install wxpyton
  1. 除了用pip来安装, 还有就是可以在SourceForge.net下载exe文件直接安装。

安装 wxFormBuilder

  1. 下载 https://sourceforge.net/projects/wxformbuilder/files/latest/download这里可以下载,
  2. 还要就是github也可以下载,但是github是最新的https://github.com/wxFormBuilder/wxFormBuilder/releases
在这里插入图片描述
在这里插入图片描述
  1. 安装 exe文件直接运行就可以了;
  2. 创建一个工程
在这里插入图片描述
在这里插入图片描述

用wx来构建GUI

  1. 首先用wxformbuilder来构建一个Form,然后在layout,最后添加组件,比如button
  2. 然后对组件添加事件,如下面:wx.EVT_LEFT_DCLICK, self.click_button1
  3. 最后导出这个py文件,在实现的方法里面,实现这个action【这个函数click_button1】。就完成了
# -*- coding: utf-8 -*-

###########################################################################
## Python code generated with wxFormBuilder (version Oct 26 2018)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################

import wx
import wx.xrc

###########################################################################
## Class MyFrame1
###########################################################################

class MyFrame1 ( wx.Frame ):

	def __init__( self, parent ):
		wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

		self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )

		bSizer1 = wx.BoxSizer( wx.VERTICAL )

		self.m_button1 = wx.Button( self, wx.ID_ANY, u"MyButton1", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer1.Add( self.m_button1, 0, wx.ALL, 5 )

		self.m_button2 = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer1.Add( self.m_button2, 0, wx.ALL, 5 )

		self.m_button3 = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer1.Add( self.m_button3, 0, wx.ALL, 5 )

		self.m_button4 = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer1.Add( self.m_button4, 0, wx.ALL, 5 )


		self.SetSizer( bSizer1 )
		self.Layout()

		self.Centre( wx.BOTH )

		# Connect Events
		self.m_button1.Bind( wx.EVT_LEFT_DCLICK, self.click_button1 )

	def __del__( self ):
		pass


	# Virtual event handlers, overide them in your derived class
	def click_button1( self, event ):
		event.Skip()

运行

下面是的结果

在这里插入图片描述
在这里插入图片描述

有可以参考官方的Demo,下面是一个简单的demo。

import wx                                            #导入wx包
app = wx.App()                                   #创建应用程序对象
win = wx.Frame(None,-1,'install test') #创建窗体
btn = wx.Button(win, label = 'Button') #创建Button
win.Show()                                          #显示窗体
app.MainLoop()                                  #运行程序

总结

综上,如果是没有「wxFormBuilder」这个工具的话,好多常量和用法,应该也是查资料,而且 wxpython 的资料非常不全,,用 Python 弄出个 GUI 程序,估计也是够折腾的,但是有了这个工具,非常高效,简单方便。

  1. 在用或者做某些东西事情之前,最好在网上搜一下,看一下是否有现成的轮子,避免不必要的造轮子。
  2. 多「看书」。看书看资料,不能在当下立马的起作用,但是可以在将来某个时间段能其作用。比如我知道了做GUI可以用现有的工具直接设计 View,类似 wxWidget、wxFormBuilder。

参考链接

  1. Python download
  2. Wxpython Offical

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装python
  • 安装wxpython
  • 安装 wxFormBuilder
  • 用wx来构建GUI
  • 运行
  • 总结
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档