GUI开发工具包

这些工具包较为突出的有: Tkinter、 PyQt 和 wxPython。
1. Tkinter
2. PyQt
3. wxPython

TKinter过于底层,PyQt过于庞大

wxPython 安装

1、 Windows 和 macOS 平台安装:
pip install -U wxPython
其中 install 是按照软件包, -U 是将指定软件包升级到最新版本。
2、 Linux 平台下使用 pip 安装有点麻烦,例如在 Ubuntu 16.04 安装,打开终端输入
如下指令:
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
wxPython
3、下载 wxPython 帮助文档和案例。
https://extras.wxpython.org/wxPython4/extras

wxPython 基础

作为图形用户界面开发工具包 wxPython,主要提供了如下 GUI 内容:
1. 窗口。
2. 控件。
3. 事件处理。
4. 布局管理。

wxPython 类层次结构

 python【第十二篇】 图形界面编程之wxPython

 

python【第十二篇】 图形界面编程之wxPython

第一个gui程序

python【第十二篇】 图形界面编程之wxPython

语法一

# coding=utf-8

import wx

# 创建应用程序对象
app = wx.App()
# 创建窗口对象
frm = wx.Frame(None, title="第一个GUI程序!", size=(400, 300), pos=(100, 100))
# Frame类的源码    def __init__(self, parent=None, id=None, title=None, pos=None, size=None, style=None, name=None):
frm.Show()  # 显示窗口

app.MainLoop()  # 进入主事件循环

语法二

import wx


# 自定义窗口类MyFrame
class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None, title="第一个GUI程序!", size=(400, 300), pos=(100, 100))
        # TODO

class App(wx.App):
    def OnInit(self):
        # 创建窗口对象
        frame = MyFrame()
        frame.Show()
        return True

    def OnExit(self):
        print('应用程序退出')
        return 0

if __name__ == '__main__':
    app = App()
    app.MainLoop()  # 进入主事件循环

界面构建层次

python【第十二篇】 图形界面编程之wxPythonpython【第十二篇】 图形界面编程之wxPython

 

import wx


# 自定义窗口类MyFrame
class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None, title="第一个GUI程序!", size=(400, 300))
        self.Centre()  # 设置窗口居中
        panel = wx.Panel(parent=self)
        statictext = wx.StaticText(parent=panel, label='Hello World!', pos=(10, 10))


class App(wx.App):

    def OnInit(self):
        # 创建窗口对象
        frame = MyFrame()
        frame.Show()
        return True


if __name__ == '__main__':
    app = App()
    app.MainLoop()  # 进入主事件循环
demo01

相关文章: