Python wxPython基本教程「建议收藏」

Python wxPython基本教程「建议收藏」PythonwxPython在资源上比较小,而且官方文档也不好找,wxPython在python2.x和python3.x安装上有区别:以下为python3.x安装为例:1.网上下载whl文件安装:路径:https://wxpython.org/Phoenix/snapshot-builds/文件名解释:wxPython_Phoenix-3.0.3.dev2812+b3485d4-c…

大家好,又见面了,我是你们的朋友全栈君。

Python wxPython在资源上比较小,而且官方文档也不好找,wxPython在python 2.x和python 3.x安装上有区别:
以下为python3.x安装为例:
1.网上下载whl文件安装:路径:https://wxpython.org/Phoenix/snapshot-builds/
文件名解释:
wxPython_Phoenix-3.0.3.dev2812+b3485d4-cp35-cp35m-win_amd64.whl
cp35代表python版本3.5
然后用pip安装即可完成安装。

简单使用:
这里有2中方法使用,第一就是用wxFormBuilder这款开源软件直接进行简单编辑界面,生成代码可以直接复制到py文件,直接运行即可实现GUI简单开发。wxFormBuilder下载地址:
https://sourceforge.net/projects/wxformbuilder/
wxFormBuilder简单使用方法可以网上自己找找。

第二种就是直接写代码形式,这个比较考验对API的熟悉掌握程度。不过大致上都是有一个固定格式的。
格式如下:

import wx
class Frame(wx.Frame):  # 定义一个 wx.Frame的子类,以便我们更容量控制框架的内容和外观
    “”” Frame class that displays an image.”””
    def __init__(self, image, parent=None, id=-1,
                 pos=wx.DefaultPosition,
                 title=’Hello, wxPython!’):  # 给我们的框架的构造器增加一个图像参数。这个值通过我们的应用程序
                                                # 类在创建一个框架的实例时提供
        “””Create a Frame instance and display image.”””  # 用 wx.StaticBitmap控件来显示这个图像,它要求一个位图
        temp = image.ConvertToBitmap()
        size = temp.GetWidth(), temp.GetHeight()
        wx.Frame.__init__(self, parent, id, title, pos, size)
        self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)
class App(wx.App):  # 定义一个带有 OnInit()方法的 wx.App的子类
    “””Application class.”””
    def OnInit(self):  # 使用与 hello.py在同一目录下的名为 wxPython.jpg的文件创建了一个图像对象
        image = wx.Image(‘wxPython.jpg’, wx.BITMAP_TYPE_JPEG)
        self.frame = Frame(image)
        self.frame.Show()
        self.SetTopWindow(self.frame)
        return True
def main():  # main()函数创建一个应用程序的实例并启动wxPython的事件循环
    app = App()
    app.MainLoop()
if __name__ == ‘__main__’:
    main()
这是重写类的方法,这比较常用的,而且用wxFormBuilder生成的代码也是这样的格式。

至于各个控件的属性,方法,参数的就不一一列举,具体可以看官网文档:
https://wxpython.org/Phoenix/docs/html/main.html
http://xoomer.virgilio.it/infinity77/wxPython/widgets.html#t
个人比较推荐第二个,,感觉比较齐全
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143339.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月21日 下午9:40
下一篇 2022年5月21日 下午10:00


相关推荐

  • 原生js数组排序

    原生js数组排序原生js数组排序js排序以正序为例(即由小到大)vararr=[0,2,1,4,3,9,6,5,7,8];//未排序的数组varsortArr=null;//排序后得到的数组1sort排序sortArr=arr.sort(function(a,b){ returna-b})sort是es3增加的数组方法,大家可以放心使用(支持到ie…

    2022年6月12日
    41
  • java注解拦截_轻松实现java拦截器+自定义注解

    java注解拦截_轻松实现java拦截器+自定义注解本文将用简洁的代码构建一个springboot的拦截器。拦截器的使用很简单,定义一个自己的拦截器,向配置中添加一下就可以使用。为了方便,之后又引入了注解。目录和概述概述假设需求:访问项目的controller是都要进行”token验证”,除了某些像登录之类的方法。项目结构:TokenInterceptor.java自定义拦截器InterceptorConfig.java添加拦截器进入项目NoN…

    2022年5月31日
    81
  • 中文 latex 排版没有斜体

    中文 latex 排版没有斜体用 latex 好几年了 发现排版中文的 ctex 确实没有斜体 网上搜索了很多资料 还没见到真正运行成功的 ctex 对中文的加粗是直接将文字变成黑体了 这个问题存在几十年了 一直没有解决 中国人的开源精神还是弱啊 没有利益又花时间的事情几乎没人去做

    2026年3月16日
    2
  • Vue Router 的params和query传参的使用和区别(详尽)「建议收藏」

    Vue Router 的params和query传参的使用和区别(详尽)「建议收藏」首先简单来说明一下$router和$route的区别//$router:是路由操作对象,只写对象//$route:路由信息对象,只读对象//操作路由跳转this.$router.push({name:’hello’,params:{name:’word’,age:’11’}})//读取…

    2022年7月11日
    30
  • php令牌桶,令牌桶限频(TokenBucket)

    php令牌桶,令牌桶限频(TokenBucket)高可用对于一个应用和 API 接口是至关重要的 如果我们提供一个接口 突然面临流量爆发式增长 对于这种情况 不仅会影响网站的访问速度 甚至可能会导致服务器崩溃 使得所有用户都无法正常访问 对于这种情况 有的同学认为 我们可以通过提高配置或者增加机器去解决这样的问题 这在某些情况下 确实是一种选择 然而当我们使用一个接口或应用时 我们不仅需要通过技术手段 幂等性 熔断等 去提高它们的稳定性 同时也确

    2026年3月26日
    3
  • 文件系统的类型「建议收藏」

    文件系统的类型「建议收藏」文件系统类型:ext2:早期linux中常用的文件系统ext3:ext2的升级版,带日志功能RAMFS:内存文件系统,速度很快NFS:网络文件系统,由SUN发明,主要用于远程文

    2022年7月3日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号