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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在vue3 中使用echarts

    在vue3 中使用echarts1,安装echartsnpminstallecharts–save有cnpm的可以cnpm安装2,在main.js中导入import{createApp}from’vue’importAppfrom’./App.vue’import*asechartsfrom’echarts’constapp=createApp(App).mount(‘#app’)app.echarts=echarts3,在需要使用的页面,定义div&lt

    2025年7月25日
    0
  • spring和springboot常用注解_Java常用注解

    spring和springboot常用注解_Java常用注解一、Spring常用注解Spring常用注解(绝对经典)二、Jpa1、@Entity,@Table(name=””)表明这是一个实体类,一般用于jpa,这两个注解一块使用,但是如果表名和实体类名相同的话,@Table可以省略。2、@MappedSuperClass基于代码复用和模型分离的思想,在项目开发中使用jpa的@MappedSuperClass注解,将实体类的多个属性分别封装到不同的非实体类中。例如,数据库表中都需要id来表示编号,id是这些映射实体类的通用属性,交给jpa统

    2022年8月20日
    7
  • mysql binlog日志_事务日志

    mysql binlog日志_事务日志binlog就是binarylog,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。如何开启mysql的binlog日志呢?在my.inf主配置文件中直接添加三行log_bin=ONlog_bin_basenam

    2022年8月31日
    1
  • flake8 格式化代码_java代码规范

    flake8 格式化代码_java代码规范flake8(代码规范利器)概述flake8是下面三个工具的封装:1)PyFlakes2)Pep83)NedBatchelder’sMcCabescriptFlake8的下载地址:https://pypi.python.org/pypi/flake8,优点是可扩展。Flake8通过启动单独的flake8脚本运行所有工具,它在一个Per文件中显示告警,合并到输出中…

    2022年9月3日
    3
  • 计算机二级C语言公共基础知识,以及习题总结(一)

    计算机二级C语言公共基础知识,以及习题总结(一)二级C语言公共基础知识,以及习题总结,算法的基本概念,算法的复杂度,数据结构的基本概念,什么是数据结构,数据结构的图形表示,线性结构和非线性结构,线性表的基本概念,线性表的顺序存储结构,栈和队列,队列及其基本运算,线性链表的基本概念

    2022年5月27日
    35
  • eclipse 在win7 64两个图标出现位操作系统无法锁定到任务栏或任务栏

    eclipse 在win7 64两个图标出现位操作系统无法锁定到任务栏或任务栏

    2022年1月8日
    56

发表回复

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

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