用 eric6 与 PyQt5 实现python的极速GUI编程(系列01)--Hello world!

简介:

 

【题记】

我是一个菜鸟,这个系列是我的学习笔记。

PyQt5 出来有一段时间了, PyQt5 较之 PyQt4 有一些变化,而网上流传的几乎都是 PyQt4 的教程,照搬的话大多会出错。

eric6 也是刚刚出来,eric6 与 PyQt5 结合的教程网上几乎没有。

本人也是一边学习,一边摸索,并记录与此,希望帮到有需要的朋友,更希望路过的大侠多多指教为好。

 

【引子】

用 eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,你只需要关注程序的逻辑实现,不需要在界面上花很多时间。

可以说这是一对完美的组合!

下面的内容基于:windows 7 + python 3.4.2 + PyQt5 + eric 6

 

【概览】

本文实现如下的程序:

   

主要步骤如下:

1、在eric6中新建项目

2、进入PyQt5 Desinger编辑图形界面(自动进入),并保存

3、回到eric 6将刚才的界面文件编译

4、然后给界面添加自己的程序逻辑

5、py2exe打包成exe文件(此步略)

 

【正文】

1、在eric6中新建项目

 

 

 

 

 

 

2、进入PyQt5 Desinger编辑图形界面(自动进入),并保存

 

在窗体中添加一个文本标签(label)、两按钮(pushButton)

设置文本标签、两按钮的对象名(objectName)为:label_hello,pushButton_ok,pushButton_close

设置文本标签、两按钮的文字(text)为:"在此显示","确定","退出"

 

退出按钮添加信号/槽        (注:信号/槽机制是PyQt独有的信号传递机制,使用非常方便)

 

 

保存,然后关闭PyQt Designer

 

3、回到eric 6,将刚才的界面文件编译

回到eric 6后,发现窗体下多了个hello.ui文件,此文件本质是一个xml格式文件,不能被运行,需要右击它,选择 编译窗体

 

 

编译成功之后,发现源文件下多出了Ui_hello.py文件,这个文件就可以运行了

试着运行它,如图:

 

Wow! 界面出来了。一切正常。不过你会发现,只有退出按钮起作用,而确定按钮没反应。那是因为我们还没给确定按钮添加逻辑代码

这事好办,到窗体下右击hello.ui文件,选择 生成对话框代码

 

此处勾选pushButton下的on_pushButton_ok_clicked()

回到源代码下,发现又多出了一个hello.py文件

 

不管三七二十一,先运行它再说。呀!错误!!!

这个错误应该是eric 6的一个bug!!!,去掉Ui前面的点号,再运行,就没有报错了。真是太好了!诶,等一下,怎么没看到窗体出来呢?

少了几行代码,此处可以认为也是eric 6的一个bug。那就自己动手吧,在hello.py的最下面添加这几行:

1
2
3
4
5
6
7
if  __name__  = =  '__main__' :
     import  sys
     from  PyQt5.QtWidgets  import  QApplication
     app  =  QApplication(sys.argv)
     dlg  =  Hello()
     dlg.show()
     sys.exit(app.exec_())

 长嘘一口气,窗体终于又出来了,但是点击确定按钮的时候报错了又。原因很简单,我们还没有覆写给确定按钮的逻辑代码

把原来的代码删除,修改为一句。没错,我们的逻辑代码就是一句代码:

1
2
3
@pyqtSlot ()
     def  on_pushButton_ok_clicked( self ):
         self .label_hello.setText( 'Hello world!' )

 

保存一下,然后运行。OK,大功告成!

 

 

 

最后的话,eric + pyqt 进行python的gui编程真的是太方便了,只需要关注逻辑实现就可以了

 

(一个字一个字敲,一张图一张图截,终于完成了。欢迎转载,不过请保留作者名及原文链接。)

 

本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/4232086.html ,如需转载请自行联系原作者
相关文章
|
2天前
|
数据采集 机器学习/深度学习 数据挖掘
探索Python编程之美:从基础到进阶
【9月更文挑战第4天】在数字时代的浪潮中,编程已成为一种新兴的“超能力”。Python,作为一门易于上手且功能强大的编程语言,正吸引着越来越多的学习者。本文将带领读者走进Python的世界,从零基础出发,逐步深入,探索这门语言的独特魅力和广泛应用。通过具体代码示例,我们将一起解锁编程的乐趣,并理解如何利用Python解决实际问题。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
1天前
|
存储 开发者 Python
探索Python编程之美
【9月更文挑战第5天】在这篇文章中,我们将一起踏上一场Python编程的奇妙之旅。从基础语法到高级特性,我们将一步步揭开Python语言的神秘面纱。你将学习如何编写清晰、高效的代码,掌握函数、类和模块的使用,以及理解面向对象编程的核心概念。此外,我们还将探讨异常处理、文件操作等实用技能。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技巧,让你在编程的道路上更加从容自信。
|
20小时前
|
数据采集 机器学习/深度学习 存储
Python编程入门:从基础到实战
【9月更文挑战第6天】本文将引导你走进Python的世界,从零基础开始,逐步掌握Python的基础语法和常用库。我们将通过实例讲解,让你在轻松愉快的氛围中学习Python编程。最后,我们还将分享一些实用的技巧和资源,帮助你在学习过程中不断进步。让我们一起开启Python编程之旅吧!
15 4
|
21小时前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的编程实践:从Python到深度学习的探索之旅
【9月更文挑战第6天】 在人工智能的黄金时代,编程不仅仅是一种技术操作,它成为了连接人类思维与机器智能的桥梁。本文将通过一次从Python基础入门到构建深度学习模型的实践之旅,揭示编程在AI领域的魅力和重要性。我们将探索如何通过代码示例简化复杂概念,以及如何利用编程技能解决实际问题。这不仅是一次技术的学习过程,更是对人工智能未来趋势的思考和预见。
|
1天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到精通
【9月更文挑战第5天】本文将带你进入Python编程的世界,无论你是编程新手还是有一定基础的开发者,都可以通过本文快速掌握Python编程的基础知识和技能。我们将从Python的基本语法开始,逐步深入到面向对象编程、文件操作、网络编程等高级主题,最后还将介绍一些实用的Python库和框架,帮助你在实际项目中应用Python编程。通过阅读本文,你将能够编写出高效、简洁的Python代码,解决实际问题。
|
21小时前
|
存储 开发者 Python
探索Python编程:从基础到高级应用
【9月更文挑战第6天】本文旨在引导读者从零开始学习Python编程,通过深入浅出的方式,介绍Python的基础语法、数据结构、面向对象编程以及高级特性。我们将通过实际代码示例,展示如何将理论知识应用于解决实际问题,帮助初学者建立扎实的编程基础,并激发进阶学习的兴趣。
|
2天前
|
Linux iOS开发 MacOS
Python系统编程高手进阶:跨平台兼容性?小菜一碟💪
【9月更文挑战第6天】当我们探讨Python系统编程时,跨平台兼容性至关重要。Python凭借其解释型语言特性和多平台解释器,确保了代码能够在Windows、Linux、macOS等多种环境中顺畅运行。本文将介绍Python跨平台运行的基本原理,以及如何处理文件路径差异和系统调用等问题,助你轻松应对跨平台挑战。
8 1
|
4月前
|
开发框架 开发者 Python
探索Python GUI编程:从Tkinter到PyQt的全方位使用
在当今技术发展日新月异的时代,Python作为一种简洁高效的编程语言,拥有广泛的应用领域。其中,GUI(图形用户界面)编程是Python开发者经常涉足的领域之一。本文将介绍两个常用的Python GUI库——Tkinter和PyQt,并深入探讨其使用方法、特点以及适用场景,帮助读者全面了解Python GUI编程的魅力。
|
4月前
|
数据可视化 Linux C++
Python GUI编程:Tkinter与PyQt的选择
Python作为一门流行的编程语言,在GUI编程领域也有着非常强大的工具。其中,Tkinter和PyQt是两个备受推崇的GUI库。本文将介绍这两个库的优缺点,并帮助读者决定应该选择哪一个。
|
11月前
|
网络协议 Linux iOS开发
【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
【100天精通python】Day40:GUI界面编程_PyQt 从入门到实战(完)_网络编程与打包发布
127 0
下一篇
DDNS