当前位置:   article > 正文

Python GUI框架

Python GUI框架

安装wxPython

wxPython官方网站:https://wxpython.org/

pip install -U wxpython
  • 1

如果出现黄色文本(connect timeout=15)'连接超时,解决的办法是使用国内镜像。

pip install -i https://pypi.doubanio.com/simple/   --trusted-host pypi.doubanio.com wxpython
  • 1

国内镜像
http://pypi.douban.com/simple/ 豆瓣
http://mirrors.aliyun.com/pypi/simple/ 阿里
http://pypi.hustunique.com/simple/ 华中理工大学
http://pypi.sdutlinux.org/simple/ 山东理工大学
http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
https://pypi.tuna.tsinghua.edu.cn/simple 清华

安装之后,可能会出现黄色文本You are using pip version x.x.x, however version x.x.x is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.pip版本太低,可以选择升级,需要输入

python -m pip install --upgrade pip
  • 1

接下来,创建一个空的wxPython程序,检验一下

#创建一个wx.APP的子类
import wx

class App(wx.App):
	def OnInit(self):
		frame = wx.Frame(parent = None, title = 'Hello wxPython')
		frame.Show()
		return True

if __name__ == '__main__':
	app = App()
	app.MainLoop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
#直接使用wx.APP(wx.App已经包含OnInit方法,所以不需要创建)
import wx

app = wx.App()
frame = wx.Frame(parent = None,title = 'Hello wxPython')
frame.Show()
app.MainLoop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
#使用wx.Frame框架
import wx

class MyFrame(wx.Frame):
	def __init__(self,parent,id):
		wx.Frame.__init__(self,parent,id,title = "Hello wxPython")

if __name__ == '__main__':
	app = wx.App()
	frame = MyFrame(parent = None,id = -1)
	frame.Show()
	app.MainLoop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Hello wxPython

推荐参考文章:https://www.cnblogs.com/ziv-chan/p/5516252.html

1.导入必须的wxPython包
一旦你导入了wx模块,你就能够创建你的应用程序(application)对象和框架(frame)对象。每个wxPython程序必须有一个application对象和至少一个frame对象。application对象必须是wx.App的一个实例或你在OnInit()方法中定义的一个子类的一个实例。当你的应用程序启动的时候,OnInit()方法将被wx.App父类调用。

2.子类化wxPython应用程序类wx.App
我们通常在OnInit()方法中创建frame对象。上面的wx.Frame接受三个参数,仅第一个(parent=None)是必须的,其余的都有默认值。 调用Show()方法使frame可见,否则不可见。我们可以通过给Show()一个布尔值参数来设定frame的可见性

3.定义一个应用程序的初始化方法
我们没有为我们的应用程序类定义一个__init__()方法。在Python中,这就意味着父方法wx.App.__init()将在对象创建时被自动调用。这是一个好的事情。如果你定义你自己的__init()方法,不要忘了调用其基类的__init()__方法,如:

class App(wx.App):
    def __init__(self):

        wx.App.__init__(self)
  • 1
  • 2
  • 3
  • 4

如果你忘了这样做,wxPython将不被初始化并且你的OnInit()方法也将得不到调用。

4.创建一个应用程序类的实例

5.进入这个应用程序的主事件循环
一旦进入主事件循环,控制权将转交给wxPython。wxPythonGUI程序主要响应用户的鼠标和键盘事件。当一个应用程序的所有框架被关闭后,这个app.MainLoop()方法将返回且程序退出。

安装PyQt

需要安装以下两个部分

  1. Designer工具
    Qt工具官方网站:https://www1.qt.io/downoload

  2. PyQt5模块
    PyQt5官方网站:https://www.riverbankcomputing.com/news

pip install pyqt5
  • 1
pip install -i https://pypi.doubanio.com/simple/   --trusted-host pypi.doubanio.com
  • 1

PyQt5应用使用的所有图标都是从easyicon网站下载的

网站提供很多*png *svg *ico *icns格式的图标下载。

easyicon官方网址:https://www.easyicon.net/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/398388
推荐阅读
相关标签
  

闽ICP备14008679号