您的位置:首页 > 编程语言 > Python开发

python、wxpython、boa construct的安装 & 一个桌面小程序

2017-07-19 14:59 489 查看

wxPython

主要是针对python在win下而产生的控件库; py2exe主要是将py文件包装为windows下可执行的exe文件; setuptools主要是用来安装一些第三方python库的时候使用的,当然也可以用pip。上述的软件python版本需要一致

Python是支持可视化编程,即编写gui程序,你可以用它来编写自己喜欢的桌面程序。使用wxPython来做界面非常的简单,只是不能像C#一样拖动控件,需要自行写代码布局。在完成编写之后,由于直接的py文件不能再没有安装python的电脑上运行,能否有一个打包成在任意电脑都能运行的工具,网上找找发现了py2exe正好可以完成这个功能

import
 
wx
 


If you selected the "Make this install
be the default
wxPython" option in the installer
then this version will be the one
that is imported when apps do "import
wx".

注释中出现错误:SyntaxError: Non-ASCII character '\xe8'

在头上加入#encoding=utf-8

编辑好改文件后,使用py2exe将Python脚本编译成Windows可执行文件,这样就不需要Python解释器了

py2exe

py2exe is a Python Distutils extension
which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.



要使用py2exe,首先要编写一个编译脚本,然后通过Python运行编译脚本即可将其他的脚本编译成可执行文件。以下实例是将要编译成可执行文件的脚本,文件名:setup.py

import distutils
import py2exe
distutils.core.setup(windows=['Win-example.py'])


方括号中就是要编译的脚本名,前边的windows 表示将其编译成GUI程序。如果要编译命令行界面的可执行文件,只要将windows改为console,如果需要将脚本编译成Windows服务,则可以使用service选项。

之前的一份:

#encoding=utf-8
from distutils.core import setup

setup(name="dollar",version="1.0",description="setup",author="dollar",py_modules=["packTest.learn_All","packTest.testHello"])
#后面存放要发布的模块名


boa construct

只用32位的,所以wxpython和python只能是32位的

终于安装好了,卸载、安装、卸载、安装......晕

python的版本要跟wxPython的版本相同,不然会在cmd中无法导入import wx

python和wxPython的版本不能太高,因为boa construct的版本更新的不迅速

多次卸载后总结:python2.6.6(32bits)+wxPython2.8.11.0(32bits)+boa0.6.1(32bits)版本即可

貌似python2.5  2.6都可以

1 python的安装需要添加到环境变量路径中

2 wxPython的版本需要跟python的版本对应

3boa只能是32bits,其他两个必须也是

软件的下载路径(下载版本都不要太高)

python:https://www.python.org/downloads/windows/

wxPython:https://sourceforge.net/projects/wxpython/files/wxPython/2.8.11.0/

boaconstruct:https://sourceforge.net/projects/boa-constructor/files/Boa-Constructor/

新建一个对话框

谢谢网友分享

#encoding=utf-8
#'''MainWindow类完成最简单的编辑功能,添加一个主菜单,两个子菜单(about和exit)'''
import wx
#这个地方引入了Wxpython,在安装wxpython时安装到了
#python2.6的script目录下
class MainWindow(wx.Frame):
#定义一个窗口类
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(300, 300))
self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)

self.setupMenuBar()
self.Show(True)

def setupMenuBar(self):
self.CreateStatusBar()

menubar = wx.MenuBar()
menufile = wx.Menu()

mnuabout = menufile.Append(wx.ID_ABOUT, '&About', 'about this shit')
mnuexit = menufile.Append(wx.ID_EXIT, 'E&xit', 'end program')

menubar.Append(menufile, '&File')

#事件绑定
self.Bind(wx.EVT_MENU, self.onAbout, mnuabout)
self.Bind(wx.EVT_MENU, self.onExit, mnuexit)

self.SetMenuBar(menubar)

def onAbout(self, evt):
#点击about的事件响应
dlg = wx.MessageDialog(self, 'This app is a simple text editor', 'About my app', wx.OK)
dlg.ShowModal()
dlg.Destroy()

def onExit(self, evt):
#点击退出
self.Close(True)
app = wx.App(False)
frame = MainWindow(None, 'Small Editor')
app.MainLoop() #循环监听事件


...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐