获取更多文章和更新,请关注我的个人主页:leiting6.cn

写在前面

关于PyQt入门的教程网上并不缺少,说实话,真稀缺的还是比较进阶的教程。不过我自己也是自学Python到现在,并且使用PyQt写了几个小工具,感觉挺不错,所以从上手入门开始写。我的教程里面可能并不会非常系统和全面,只是觉得作为新手学习一门新的语言和工具,成就感是一件非常重要的事情!快速入门,从照猫画虎到举一反三再到自己独立编写出工具,是最能激发热情的。在此过程中,必定会学会查阅官方文档和网络文章来充实细枝末节的知识,认知体系也就自然系统、全面了。

常见控件的属性和方法

使用QtCreator设计UI界面的时候,我们已经对控件有了一个大概的认知,其中用到的label,lineEdit,pushButton都是控件,而这些控件自身也是会绑定一些属性和方法的,包括提及到的居中对齐、显示内容、大小、设置只读等等。属性当然可以手动添加设置,但是既然使用了QtCreator,好处就是在一个可视化IDE里面设计好界面,再使用pyuic5生成python文件,打开python文件我们也能看到各种属性设置相关的代码,比如:

  • lineEdit的矩形大小

  • 设置居中对齐

  • 设置按钮上显示的内容

  • 设置lineEdit为只读

等等,非常方便和直观。像setGeometry、setAlignment、setText、setReadOnly都是各个控件的方法,正确使用即可以让控件实现不同的功能。

为了实现一个加法器的功能:点击计算按钮时,从可输入的文本框中读取adder1和adder2的数值,计算两数之和,显示到结果文本框中。因此,我们要使用到的方法有:

  • pushButton:点击按钮,链接到计算两数之和的方法

  • lineEdit:读取内容

  • lineEdit:设置显示内容

知道了这些方法就足够完成简易加法器的设计了。需要查看方法的详细内容和更多控件的更多属性或方法,可以到QT官网仔细翻阅;只是QT官网给出的都是C++环境下的表述,但是多看一些也就能举一反三顺利转换过来用了。

点击跳转到QT官网查看关于lineEdit控件的说明

在Ui_MainWindow类中添加2个方法

setupFunction()方法

自动生成的setupUi()方法会在类外代码中被执行,这样UI界面就会按照预先设计好的样子来呈现;既然要实现一些功能(这里是点击计算按钮来计算两数之和),自然想到的是编写一个setupFunction()方法来初始化需要的功能。方法内容如下:

这个方法的内容十分简单,只有一个按键链接的功能。这行代码的意思是:当pushButton_calc(计算按钮)被按下时,执行get_sum()方法中的功能。

get_sum()方法

get_sum()方法的内容则是:

这个函数的内容也不复杂,注释也作了简要的说明,需要注意的是,对lineEdit的操作,不管是读取内容还是填入内容,对象都是字符串,所以计算两数之和的时候中间要经过一轮从字符串到整形的转换,和C语言中差不多。

main.py全部代码现在就是下面这个样子:

在命令行中执行:

此时点击计算按钮已经会有反应了,输入几组数据验证一下加法功能是否正常。

image.png image.png

好像没什么问题,所以简易加法器也就这样完成了。当然,这个小程序即使功能简单,但是也是非常不健壮的,比如只输入了一个数字另外一个留空就会报错;输入了非数字计算也会报错;对输入的数字范围也没有限定,等等。这些问题都是可以通过编写python代码来解决的,我在教程里就不多说了。

分类: 代码相关

发表评论

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

%d 博主赞过: