Python3萌新入门笔记(44)

这一篇教程,我们继续完成图形界面程序的功能部分。

在我们之前编写的图形界面程序中包含以下功能:

  • 打开选取的文件到文本控件
  • 保存文本控件的内容到文件

那么,对于这两个功能,我们要定义相应的功能函数。

示例代码:

def open_file(event):
    file_path = file_btn.GetPath()  # 从文件选择器控件获取文件路径
    with open(file_path) as file:  # 打开文件
        cont_ipt.SetValue(file.read())  # 读取文件内容设置到文本控件的值

def save_file(event):
    file_path = file_btn.GetPath()  # 从文件选择器控件获取文件路径
    with open(file_path, 'w') as file:  # 写入模式打开文件
        file.write(cont_ipt.GetValue())  # 获取文本控件的值写入文件

在上方代码中,大家能够看到,我们通过Get方法能够获取到控件中的路径以及值。

实际上控件的Get方法还有很多,在这里没有办法一一介绍。

这里只介绍比较常用的一些方法:

  • GetPath():获取路径。
  • GetValue():获取控件的值。
  • GetLabel():获取控件的标签文本。
  • GetName():获取控件的名称。
  • GetId():获取控件的ID。
  • GetSize():获取控件的尺寸。
  • GetPosition():获取控件的位置。

更多的Get方法可以查看官方文档中的详细介绍。【点此查看】

完成了功能函数的编写,接下来我们需要将功能函数和控件进行绑定,才能够在用户和控件产生交互时,调用功能函数。

示例代码:

open_btn.Bind(wx.EVT_BUTTON, open_file)  # 绑定打开文件按钮
save_btn.Bind(wx.EVT_BUTTON, save_file)  # 绑定保存文件按钮

到这里,这个图形界面程序就完成了。

我们不但可以在PyCharm中运行代码查看效果,也可以到本地磁盘的文件夹中,双击py文件运行这个程序。

不过,在运行时会弹出一个py.exe的窗口,这是因为py文件会通过py.exe运行。

如果不想看到这个窗口,可以把文件的后缀改为“.pyw”,这样的话程序就会通过pyw.exe运行,不会再显示多余的窗口。

 

在PyCharm中修改文件名,可以在文件上点击鼠标右键,选择重构(Refactor)选项中的重命名(Rename)选项进行修改。

也可以点中文件后,通过快捷键进行修改。

最后,我们再来了解一些关于Python文件类型的知识。

Python文件有以下几种类型:

  • py:源代码文件。由 py.exe 运行,也可以通过命令行终端运行。
  • pyw:图形界面程序源代码文件。由pyw.exe运行,和py运行的区别在于不会显示命令行窗口。不过,还是建议大家在编程过程中,先将源代码命名为py文件,当程序出现错误时,能够在命令行窗口看到相关信息。
  • pyc:py文件经过编译后产生的文件,无法直接看到源代码。因为已经经过编译,运行速度比py文件更快。
  • pyo:py文件优化编译后产生的文件,无法直接看到源代码。可以在命令行窗口,通过 “python -O 源代码文件”将源代码文件编译为pyo 文件。
  • pyd:这类文件不是用 python 编写成的,一般是其他语言编写的 python 扩展模块。

提示:本篇教程相关源代码较长,不方便在此展示,大家可以下载这个程序的py文件。【点此下载】

本节知识点:

1、控件绑定函数

2、控件对象的Get方法

3、Python文件类型简介

本节英文单词与中文释义:

1、refactor:重构

2、rename:重命名

练习:

编写一个简单的计算器。

提示:

1、布局需要尺寸器嵌套,参考下图。

第一种嵌套结构:

红色:面板的垂直布局尺寸器,嵌套蓝色尺寸器。

蓝色:除了文本控件,另外两个是水平布局尺寸器,第2个尺寸器中嵌套紫色尺寸器。

紫色:左侧为垂直布局尺寸器,嵌套绿色尺寸器,右侧为按钮控件。

绿色:3个水平布局尺寸器,每个尺寸器添加相应的按钮控件。

第二种嵌套结构:

红色:面板的垂直布局尺寸器,嵌套蓝色尺寸器。

蓝色:上方为文本控件,下方为水平布局尺寸器,嵌套5个紫色尺寸器。

紫色:垂直布局尺寸器,每个尺寸器添加相应的按钮控件。

参考文件使用的是第二种嵌套结构。

2、控件绑定功能函数时,不能够直接传递参数,可以通过lambda表达式调用功能函数并传入参数。

参考文件:【点击下载】

说明:参考文件仅供参考,并非最优方案。

转载请注明:魔力Python » Python3萌新入门笔记(44)

你可能感兴趣的:(Python3新手入门课堂)