python界面开发,使用wxpython库

入门学习Python时,使从接触一个项目开始,当时需要我开发一个界面,当时综合考量之后,最终选择了今天要分享的内容部分,也就是使用Python来开发,主要使用到的是Python库——wxPython库来进行界面开发,首先是安装wxPython库,可以使用pypi来进行下载,找到对于的python版本后下载安装即可。

添加图片注释,不超过 140 字(可选)

pypi下载wxpython的网址:wxPython · PyPI,例如我自己的python环境是3.8,电脑是64位电脑,这里下载的对应的就是:

添加图片注释,不超过 140 字(可选)

然后再使用pip安装即可,注意在直接使用pip网络安装时,没有找到对应的wxpython的库,所以我这里从网站上下载下来后直接安装的。

然后就是如何使用wxpython来进行开发了,引入wxpython库。

import wx

这里演示一下如何通过wxpython在界面上显示一张图片,这是最终显示结果。

添加图片注释,不超过 140 字(可选)

首先是自定义框架类

class MyFrame(wx.Frame): def __init__(self, image, parent=None, id=-1, pos=wx.DefaultPosition, title='界面开发'): imageFile = image.ConvertToBitmap()size = imageFile.GetWidth(), imageFile.GetHeight()wx.Frame.__init__(self, parent, id, title, pos, size) self.bmp = wx.StaticBitmap(parent=self, bitmap=imageFile) self.SetClientSize(size)

使用python定义自己框架类,这个类中含有一个成员函数,这个成员函数定义为初始化函数,其中主要包含的是现定义一个存储图片的变量imageFile,这个imageFile存储的是传进来的image变量,通过对这个image变量获取其width宽和height高,然后通过调用wx的staticmap函数,也就是定义一个静态图片,将imageFile传入之后保存,并且最后将根据获取到的图片的大小设置成窗口大小。

通过定义一个myApp类,每一个使用wxPython库的可视化界面窗口都必须有一个使用wx.app实例,在这个类中调用前一个定义的myFrame类实例一个对象,这个对象传入的参数主要就是我们想要显示的图片的文件全路径,使用的是wx的图片类型存储。并且在将myFrame实例话之后,调用show()函数将这个框架显示,并且将这个窗口显示置顶。

image = wx.Image('hello.jpeg', wx.BITMAP_TYPE_JPEG) 
self.frame = myFrame(image) 
self.frame.Show() 
self.SetTopWindow(self.frame)

在主函数中实例myApp对象之后,需要调用mainloop()函数,主循环函数主要的功能即是为了形成消息循环,否则程序将直接退出。

源程序下载地址如下:

https://download.csdn.net/download/Mrsawyer/88619772

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/227567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读:Lidar Annotation Is All You Need

目录 概要 Motivation 整体架构流程 技术细节 小结 概要 论文重点在探讨利用点云的地面分割任务作为标注,直接训练Camera的精细2D分割。在以往的地面分割任务中,利用Lidar来做地面分割是目前采用激光雷达方案进行自动驾驶的常见手段。来自Evocargo …

phpstudy是什么?

PHPStudy 是一个集成环境工具,它将 PHP 开发所需的软件,如 Apache(Web服务器)、MySQL(数据库服务器)、PHP(脚本语言)等打包在一起,以便用户能够轻松安装和配置这些软件&a…

UniGUI 之UniDBGrid

目录 1]DataSource设置 2]显示MEMO类型里的文字 3]显示悬浮提示 4]显示当前记录及总记录数 5]读取所有记录,及分页 6]在前面加上序号列 7]不显示标题栏 8]列排序 9]编辑 和 更新 数据 10]获得某单元格里的内容 11]标题别名 12]将某列设置为CheckBox格式 13]列标题…

Redis设计与实现之字符串哈希表列表

目录 一、字符串 1、字符串编码 2、编码的选择 二、哈希表 1、字典编码的哈希表 2、压缩列表编码的哈希表 3、编码的选择 4、哈希命令的实现 三、列表 1、 编码的选择 2、 列表命令的实现 3、阻塞的条件 4、 阻塞 5、 阻塞因 LPUSH 、RPUSH 、LINSERT 等添加命令而…

【C语言】操作符详解(五)

目录 操作符的属性:优先级,结合性 优先级 结合性 表达式求值 整形提升 算术转换 问题表达式解析 表达式1 表达式2 表达式3 总结 操作符的属性:优先级,结合性 优先级 ⭐优先级:优先级指的是,如果一…

网络安全——Iptables防DDoS攻击实验

一、实验目的要求: 二、实验设备与环境: 三、实验原理: 四、实验步骤: 五、实验现象、结果记录及整理: 六、分析讨论与思考题解答: 一、实验目的要求: 1、掌握常见DDoS攻击SYN Flood的攻击…

Cmake基础(4)

这篇文章在上一篇的基础之上应用多文件,即一个项目中添加多个文件 文章目录 GLOBsource_group排除文件 上一篇文章的cmake基本不变,这篇文章的重点在于add_executable(${EXECUTABLE_NAME} main.cpp) GLOB file(GLOB cpp_list ${CMAKE_CURRENT_SOURCE_…

Arrays.asList()方法:陷阱与解决之道

在Java编程中,Arrays类提供了一系列用于操作数组的实用方法。其中,​Arrays.asList()​方法是一个常用的方法,用于快速将数组转换为List集合。然而,这个方法存在一些潜在的陷阱,可能导致出现意外的行为。本文将介绍​A…

h5 hdf5 pytables 数据库 减少空间占用的方法

方法来源:https://forum.hdfgroup.org/t/hdf5-deleting-datasets-and-recovering-space/1293 h5 数据库,在删除一些数据,表,数组后,无法变小; 或是在多次读写后,会越来越大,并且有一…

python:import 自定义包或者.py文件时出现:ModuleNotFoundError: no module named 的问题解决

问题: 在以下的示例中,wuHanMoviesSprider.py文件,想要import引用指定目录下的Items类时,出现无法识别module模块的问题(from 的引用处报错)。 原因分析: 正常情况下,被引用的包(或目录)中存在一个空文件…

vue 实现点击复制文本到剪贴板

vue 实现点击复制文本到剪贴板 共四种方法 1. navigator.clipboard.writeText该方法需要在安全域下才能够使用&#xff0c;比如&#xff1a;https 协议的地址、127.0.0.1、localhost <template><div><el-button type"primary" click"btn1"…

Docker 部署 Lobe Chat 服务

拉取最新版本的 Lobe Chat 镜像&#xff1a; $ sudo docker pull lobehub/lobe-chat:latest使用以下命令来运行 Lobe Chat 容器: $ sudo docker run -d --name lobe-chat -p 10084:3210 -e OPENAI_API_KEYsk-xxxx -e OPENAI_PROXY_URLhttps://api.openai.com/v1 -e ACCESS_CO…

ES6 面试题 | 13.精选 ES6 面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

普冉(PUYA)单片机开发笔记(10): I2C通信-配置从机

概述 I2C 常用在某些型号的传感器和 MCU 的连接&#xff0c;速率要求不高&#xff0c;距离很短&#xff0c;使用简便。 I2C的通信基础知识请参见《基础通信协议之 IIC详细讲解 - 知乎》。 PY32F003 可以复用出一个 I2C 接口&#xff08;PA3&#xff1a;SCL&#xff0c;PA2&a…

C++ 运算符重载

目录 前言 算术运算符重载 加号运算符 位运算符重载 左移运算符 自增自减运算符重载 前置自增运算符 后置自增运算符 赋值运算符重载 等号赋值运算符重 关系运算符重载 相等 不等 函数调用运算符重载 总结 前言 在C中&#xff0c;运算符重载是一种强大的特性…

数据可视化---柱状图

import matplotlib.pyplot as plt import numpy as npdef plot_bar_chart(data, labels, colorsNone, title"Bar Chart", xlabel"X-Axis", ylabel"Y-Axis"):"""绘制柱状图&#xff0c;并在柱子上显示数量和比例。:param data: 包…

pytest之allure测试报告03:allure动态自定义报告

1、测试用例模块中引入allure&#xff1a;import allure 2、yaml文件中定义添加title、story的值&#xff1a; 3、测试用例中读取调用。eg:allure.dynamic.title() 4、运行报告查看&#xff1a;成功动态展示yaml文件中配置的story、title

共同编辑文档功能实现(websocket)

目录 前言 websocket封装 wangeditor下载 共同编辑文档代码实现 HTML样式部分 JS部分 css部分 前言 功能&#xff1a;实现文档共同编辑功能&#xff0c;可以实时接收到其他人的信息 思路&#xff1a;先调用接口获取相应的数据进行渲染&#xff0c;然后通过webSocket建…

当 Sealos 遇上区块链

当 Sealos 遇上区块链 拿着区块链技术不一定是去发币&#xff0c;很多业务系统也适合用这些技术&#xff0c;比如做个统一支付系统&#xff0c;积分系统等&#xff0c;可以做为一家公司的金融基础设施&#xff0c;或支付中台。拿链的技术去做有很多好处&#xff1a; 高可用&a…

【图的应用一:最小生成树】- 用 C 语言实现普里姆算法

目录 一、最小生成树 二、普里姆算法的构造过程 三、普里姆算法的实现 一、最小生成树 假设要在 n 个城市之间建立通信联络网&#xff0c;则连通 n 个城市只需要 n - 1 条线路。这时&#xff0c;自然会考虑这样一个问题&#xff0c;如何在最节省经费的前提下建立这个通信…