【wxPython学习记录-1】对wxPython常用类与编写习惯的理解-Python Gui

“He stepped down, trying not to look long at her, as if she were the sun, yet he saw her, like the sun, even without looking.”
― Leo Tolstoy, Anna Karenina

前言

当我们使用Python时,如果自己编写小工具可以直接在console中运行。但是如果想把这种工具共享给大家一起使用,黑框白字显得不是那么“美观”,因此有必要为程序创建可视化界面。目前Python可用的库有tk,pyqt与wxPython等,各种库的优势大家可以百度查看,此处不赘述。

什么是wxPython?

wxPython是使用C++编写的可以在Python中调用的跨平台GUI工具包

常用类

wx.Panel

创建一个可以放置控件的窗口

wx.BoxSizer

创建一个区域,该区域内控件可以指定水平(wx.HORIZONTAL)或者垂直(wx.VERTICAL)排列。可以简单的理解为html中的div, 并且这种“区域”可以不规定大小,可嵌套。类似的还有:wx.StaticBoxSizer, wx.GridSizer, wx.FlexGridSizer, wx.WrapSizer 和 wx.GridBagSizer。

sizer.Add

在创建的区域上添加内容,控件。

注:

所有类都有初始化,为使用方便,某些类的初始化即为类下的Creat函数

如:

import wx

a = wx.Button(label="确定")

a = wx.Button()

b.Creat(label="确定")

是相同的

编写注意

这部分内容遵循Python的宗旨——Python之禅

1,使用import wx 不要使用 from wx import * 或者 from wxPython.wx import *.

2,在函数中有默认值,尽量使用模块提供的参数来编写出来,因为显式的可读性优于隐式

3,在子类化wx.Windows时使用* args和** kwargs,这样就不需要预测可能提供的参数有哪些

4,大部分函数都有一个默认的ID,但是尽量不要给其赋值,尽量使用wx.ID_ANY。但是也有例外的情况,比如menu中的退出,关于等。在Mac上,退出和关于是着重显示的。因此有必要设置特殊的ID来表明二者。退出:ID_EXIT 关于:ID_ABOUT

5,尽量使用sizers定位,因为在拉伸窗口大小的时候如果使用绝对定位会很不美观

6,尽可能使用类,而不单独拿出来使用,简单胜于复杂

7,尽可能使用Python的函数,避免使用wx的的函数,如 size=(500,400),而不是size=wx.Size(500,400)

 

GUI的坑还有很多,继续坚持跳坑!——Wicos 2020.2.10

00:00/00:00

歪克士

每一个人都是一座孤岛,你,我,和他们……

相关推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫,分享到朋友圈

【wxPython学习记录-1】对wxPython常用类与编写习惯的理解-Python Gui
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close