最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【记录】下载,安装,试用wxPython

Python crifan 5170浏览 0评论

由于想要折腾Ulipad:

【记录】使用Python的IDE:Ulipad

结果根据:

【已解决】安装Ulipad后,选择启动Ulipad,结果无法启动

就需要先去安装wxPython,版本要求是:wxPython 2.8+ Unicode Version。

下面就记录此过程:


1.找到其主页:

http://www.wxpython.org/

2.进入下载页面:

http://www.wxpython.org/download.php

找到和我当前系统:

x64 win7 + Python 2.7.2 x64

匹配的:

wxPython2.8-win64-unicode-py27 (64-bit Python 2.7)

下载后得到:

wxPython2.8-win64-unicode-2.8.12.1-py27.exe

3.双击运行去安装。

一直都是下一步。

最后安装成功。

4.然后参考了:

http://www.wxpython.org/test7.py.html

将其代码拷贝下来:

#!/usr/bin/env python
#----------------------------------------------------------------------------
# Name:         test7.py
# Purpose:      A minimal wxPython test program
#
# Author:       Robin Dunn
#
# Created:      A long time ago, in a galaxy far, far away...
# Copyright:    (c) 1998 by Total Control Software
# Licence:      wxWidgets license
#----------------------------------------------------------------------------

#http://www.wxpython.org/test7.py.html

# NOTE: this sample requires wxPython 2.6 or newer

# import the wxPython GUI package
import wx

# Create a new frame class, derived from the wxPython Frame.
class MyFrame(wx.Frame):

    def __init__(self, parent, id, title):
        # First, call the base class' __init__ method to create the frame
        wx.Frame.__init__(self, parent, id, title)

        # Associate some events with methods of this class
        self.Bind(wx.EVT_SIZE, self.OnSize)
        self.Bind(wx.EVT_MOVE, self.OnMove)

        # Add a panel and some controls to display the size and position
        panel = wx.Panel(self, -1)
        label1 = wx.StaticText(panel, -1, "Size:")
        label2 = wx.StaticText(panel, -1, "Pos:")
        self.sizeCtrl = wx.TextCtrl(panel, -1, "", style=wx.TE_READONLY)
        self.posCtrl = wx.TextCtrl(panel, -1, "", style=wx.TE_READONLY)
        self.panel = panel

        # Use some sizers for layout of the widgets
        sizer = wx.FlexGridSizer(2, 2, 5, 5)
        sizer.Add(label1)
        sizer.Add(self.sizeCtrl)
        sizer.Add(label2)
        sizer.Add(self.posCtrl)

        border = wx.BoxSizer()
        border.Add(sizer, 0, wx.ALL, 15)
        panel.SetSizerAndFit(border)
        self.Fit()

    # This method is called by the System when the window is resized,
    # because of the association above.
    def OnSize(self, event):
        size = event.GetSize()
        self.sizeCtrl.SetValue("%s, %s" % (size.width, size.height))

        # tell the event system to continue looking for an event handler,
        # so the default handler will get called.
        event.Skip()

    # This method is called by the System when the window is moved,
    # because of the association above.
    def OnMove(self, event):
        pos = event.GetPosition()
        self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y))

# Every wxWidgets application must have a class derived from wx.App
class MyApp(wx.App):
    # wxWindows calls this method to initialize the application
    def OnInit(self):
        # Create an instance of our customized Frame class
        frame = MyFrame(None, -1, "This is a test")
        frame.Show(True)

        # Tell wxWindows that this is our main window
        self.SetTopWindow(frame)

        # Return a success flag
        return True

app = MyApp(0)     # Create an instance of the application class
app.MainLoop()     # Tell it to start processing events

去运行测试了上述代码,感觉效果还不错:

test run wxpython

 

【总结】

wxPython,貌似还不错,以后有机会,写GUI时,可以多去试试。

转载请注明:在路上 » 【记录】下载,安装,试用wxPython

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

    85 queries in 0.184 seconds, using 22.04MB memory