自学全过程分享PythonGUI界面设计

写过一段时间Python的程序了,但都是纯代码的程序,自己用还可以,如果要分享的话,纯代码就太不友好了。所以准备学习下Python的图形化界面的制作,下面就把自己的学习过程和大家分享下:

1、首先搜索Python图形化界面

搜索出来一堆,点开看了下,有好多种,几经比较之后选择了经典的Pyqt5作为我的学习对象。如果只是想做些简单的程序,Gooey,PysimpleGUI非常值得考虑。

2、确定目标之后就可以安装第三方库了,这个相对比较简单但非常重要,如果不会安装库的话,Python就只能当个高级的计算器玩玩感觉。《初学者必备|Python环境安装、第三方库的下载安装方法》供参考。我用的是清华大学的镜像,速度极快的。

这里需要安装二个库,一个是pyqt5,一个是pyqt5_tools。

注意一个细节,现在的设计工具在Python的安装目录的Lib\site-packages\qt5_applications\Qt\bin中。

为了方便以后使用,我把它固定到了任务栏,当然也可以把它发送到桌面快捷方式。

3、我准备完成一个程序,输入一个网址,点击一个按钮就打开对应的网站。

用到一个文本输入框:PlainTextEdit

修改它的PlaceHolderText为百度的网址(后来发现用PlainText更好)

用到一个按钮:PushButton

修改它的Text属性为打开网址

最终效果如图:

界面制作感受:使用designer设计界面,非常方便,只不过组件和属性大多是以英文形式出现的,有一定的使用障碍。

保存为myui.ui。

4、搜索pythonidle使用UI文件

简单浏览了下,第一个就是一个不错的教程,收了!

学习收获:UI文件有二种使用方式,一种是通过软件将UI转成Py文件使用,一种是动态直接调用。经过比较动态调用使用简便,一个成功的使用的方法如下:

因为Python代码有层次,所以只能上图,如果想获得文字版,可以参考下以前写的《小技巧|强推简单好用的QQ文字识别功能》

执行的结果如下:

5、下面研究如何获取文本框的值,以及修改文本框的值。

搜索到的第一条就解决了我的问题,整合代码如下:

执行结果如下:

6、解决按钮点击时访问,搜索的关键词:pythonPUSHBUTTON点击按钮

搜索到的内容感觉不是很容易懂,在浏览的过程中,为您推荐又一次立功了!

通过多方查看,知道按钮要利用信号/槽绑定事件,说白了就是当……时候,控制……干……事情。可以在designer的右下角设置。比如信息为点击,控制MainWindow槽为关闭。

多方学习折腾之后,最后换了bing搜索,同样的关键词,居然就搞定了,此处无力吐槽。核心的思想就是将ckicked事件绑定connect到指定的函数上面,代码如下。

7、问题是解决了,但出现一个新的问题,程序运行时单击事件自动执行了,没用我点击按钮。继续解决……

这个解决起来很快,用的还是bing搜索关键词:pythonPUSHBUTTON绑定的事件自动执行,第二个文章就是,绑定时如果有参数,需要在前面加上个关键字:lambda。自己手欠用同样的关键词百度搜索了下,只能说谁试谁知道,无语+无语。

核心修改如下:

到此我就解决了UI界面的设计,文本框的使用,按钮事件的绑定的问题。

下面对我来说就是小事情了,因为PYTHON操纵网页我以前就会。

尝试修改。可以参考我以前的文章:《Python爬虫实例|爬取动态生成的网页内容》

终于可以点击按钮打开了指定的网址,但又出现一个新问题,打开的网页一闪而过。

00:05

继续搜索:pythonpushbutton打开selenium网页一闪而过

通过阅读后找到原因:没有创建driver对象,添加之后问题就解决了,完整的代码如下:

8、学习心得:

通过这个项目的学习,有以下收获:

一、学习目标要明确

二、搜索词要多样化

三、要多方比对结果

四、碰到问题不要慌

五、折腾到最后才发现其实好简单。




转载请注明:http://www.aierlanlan.com/tzrz/757.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了