当前位置:首页>python>Python学习记录(25)

Python学习记录(25)

  • 2026-10-11 07:01:32
Python学习记录(25)

1.初识GUI

GUI是图形用户界面的英文缩写,通过GUI用户可以看到窗口、按钮、文本框等图形,而且可以用鼠标单击,还可以通过键盘键入。

python中流行的GUI工具包有:

2.安装wxPython

在Windows的cmd命令下,使用pip语句即可安装:

3.创建应用程序

3.1 先创建一个没有任何功能的子类,执行如下4个步骤:

■ 定义这个子类。

■ 在定义的子类中写一个OnInit()初始化方法。

■ 在程序的主要部分创建这个类的一个实例。

■ 调用应用程序实例的MainLoop()方法。这个方法将程序的控制权转交给wxPython。

3.2使用wx.Frame框架

创建wx.Frame的子类时,子类应该调用其父类的构造器wx.Frame.__init__()。

wx.Frame构造器的语法格式如下:wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition, size=wx.DefaultSize,         style=wx.DEFAULT_FRAME_STYLE, name="frame")

参数说明:■ parent:框架的父窗口。如果是顶级窗口,这个值是None。■ id:关于新窗口的wxPython ID号。通常设为-1,让wxPython自动生成一个新的ID。■ title:窗口的标题。■ pos:一个wx.Point对象,它指定这个新窗口的左上角在屏幕中的位置。在图形用户界面程序中,通常(0,0)是显示器的左上角。这个默认值(-1,-1)将让系统决定窗口的位置。■ size:一个wx.Size对象,它指定这个窗口的初始尺寸。这个默认值(-1,-1)将让系统决定窗口的初始尺寸。■ style:指定窗口的类型的常量。可以使用或运算来组合它们。■ name:框架内在的名字。可以使用它来寻找这个窗口。

4.常用控件

控件:就是经常使用的按钮、文本、输入框、单选框等。

4.1 StaticText文本类

wx.StaticText类的构造函数语法格式如下:

 wx.StaticText(parent, id, label, pos=wx.DefaultPosition,size=wx.DefaultSize,                style=0, name="staticText")

参数说明:■ parent:父窗口部件。■ id:标识符。使用-1可以自动创建一个唯一的标识。■ label:显示在静态控件中的文本内容。■ pos:一个wx.Point或一个Python元组,它是窗口部件的位置。■ size:一个wx.Size或一个Python元组,它是窗口部件的尺寸。■ style:样式标记。■ name:对象的名字。

运行后:

4.2 TextCtrl 输入文本类

 StaticText文本类只能够用于显示纯粹的静态文本,TextCtrl 输入文本类

运行输入单行和多行文本,也可以作为密码输入控件,掩饰所按下的按键。

wx.TextCtrl类的构造函数语法格式如下:wx.TextCtrl(parent, id, value = "", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, validator=wx.DefaultValidator name=wx.TextCtrlNameStr)

参数说明:■ style:单行wx.TextCtrl的样式,取值及说明如下:● wx.TE_CENTER:控件中的文本居中。● wx.TE_LEFT:控件中的文本左对齐。● wx.TE_NOHIDESEL:文本始终高亮显示,只适用于Windows。● wx.TE_PASSWORD:不显示所键入的文本,以星号(*)代替显示。● wx.TE_PROCESS_ENTER:如果使用改参数,那么当用户在控件内按下<Enter>键时,一个文本输入事件将被触发。否则,按键事件由该文本控件或该对话框管理。● wx.TE_PROCESS_TAB:如果指定了这个样式,那么通常的字符事件在按下<Tab>键时创建(一般意味一个制表符将被插入文本)。否则,tab由对话框来管理,通常是控件间的切换。● wx.TE_READONLY:文本控件为只读,用户不能修改其中的文本。● wx.TE_RIGHT:控件中的文本右对齐。■ value:显示在该控件中的初始文本。■ validator:常用于过滤数据以确保只能键入要接受的数据。

4.3 Button按钮类

wx.Button的构造函数的语法如下:wx.Button(parent, id, label, pos, size=wxDefaultSize, style=0, validator, name="button")

在上面的界面增加“确认”和“取消”按钮:

最新文章

随机文章