鱼C论坛

 找回密码
 立即注册
查看: 7630|回复: 53

[技术交流] 《零基础入门学习Python课堂笔记》PyQt5篇

[复制链接]
发表于 2017-7-13 15:53:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
PyQt5简介:

PyQt5 是Digia的一套Qt5与python绑定的应用框架,同时支持2.x和3.x。本教程使用的是3.x。Qt库由Riverbank Computing开发,是最强大的GUI库之一 ,官方网站:www.riverbankcomputing.co.uk/news。

PyQt5是由一系列Python模块组成。超过620个类,6000和函数和方法。能在诸如Unix、Windows和Mac OS等主流操作系统上运行。PyQt5有两种证书,GPL和商业证书。

PyQt5类分为很多模块,主要模块有:

QtCore 包含了核心的非GUI的功能。主要和时间、文件与文件夹、各种数据、流、URLs、mime类文件、进程与线程一起使用。
QtGui 包含了窗口系统、事件处理、2D图像、基本绘画、字体和文字类。
QtWidgets
QtMultimedia
QtBluetooth
QtNetwork
QtPositioning
Enginio
QtWebSockets
QtWebKit
QtWebKitWidgets
QtXml
QtSvg
QtSql
QtTest
QtWidgets类包含了一系列创建桌面应用的UI元素。 QtMultimedia包含了处理多媒体的内容和调用摄像头API的类。 QtBluetooth模块包含了查找和连接蓝牙的类。 QtNetwork包含了网络编程的类,这些工具能让TCP/IP和UDP开发变得更加方便和可靠。 QtPositioning包含了定位的类,可以使用卫星、WiFi甚至文本。 Engine包含了通过客户端进入和管理Qt Cloud的类。 QtWebSockets包含了WebSocket协议的类。 QtWebKit包含了一个基WebKit2的web浏览器。 QtWebKitWidgets包含了基于QtWidgets的WebKit1的类。 QtXml包含了处理xml的类,提供了SAX和DOM API的工具。 QtSvg提供了显示SVG内容的类,Scalable Vector Graphics (SVG)是一种是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式(这句话来自于维基百科)。 QtSql提供了处理数据库的工具。 QtTest提供了测试PyQt5应用的工具。

这些就是为了让你感受到PyQt5的厉害而已,,,看看就行,,,




本帖将展示PyQt5最基本的例子,

代码来源于网络,楼楼也是入门

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget


  3. if __name__ == '__main__':

  4.     app = QApplication(sys.argv)

  5.     w = QWidget()
  6.     w.resize(250, 150)
  7.     w.move(300, 300)
  8.     w.setWindowTitle('Simple')
  9.     w.show()

  10.     sys.exit(app.exec_())
复制代码

运行上面的代码,能展示出一个小窗口。下面是每行代码的讲解。

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget
复制代码


这里引入了PyQt5.QtWidgets模块,这个模块包含了基本的组件。

  1. app = QApplication(sys.argv)
复制代码


每个PyQt5应用都必须创建一个应用对象。sys.argv是一组命令行参数的列表。Python可以在shell里运行,这个参数提供对代码控制的功能。

  1. w = QWidget()
复制代码


QWidget空间是一个用户界面的基本空间,它提供了基本的应用构造器。默认情况下,构造器是没有父级的,没有父级的构造器被称为窗口(window)。

  1. w.resize(250, 150)
复制代码


resize()方法能改变控件的大小,这里的意思是窗口宽250px,高150px。

  1. w.move(300, 300)
复制代码


move()是修改控件位置的的方法。它把控件放置到屏幕坐标的(300, 300)的位置。注:屏幕坐标系的原点是屏幕的左上角。

  1. w.setWindowTitle('Simple')
复制代码


我们给这个窗口添加了一个标题,标题在标题栏展示(虽然这看起来是一句废话,但是后面还有很多栏,还是要注意一下,多了就蒙了)。

  1. w.show()
复制代码


show()能让控件在桌面上显示出来。控件在内存里创建,之后才能在显示器上显示出来。

  1. sys.exit(app.exec_())
复制代码


最后,我们进入了应用的主循环中,事件处理器这个时候开始工作。主循环从窗口上接收事件,并把事件传入到派发到应用控件里。当调用exit()方法或直接销毁主控件时,主循环就会结束。sys.exit()方法能确保主循环安全退出。外部环境能通知主控件怎么结束。

exec_()之所以有个下划线,是因为exec是一个Python的关键字。

程序预览:
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
小甲鱼 + 5 + 5 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-14 07:45:25 | 显示全部楼层
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-14 07:48:04 | 显示全部楼层

终于来人了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-14 10:08:33 | 显示全部楼层
图形界面与函数分离
图形界面的设计不要用代码一行一样的去写,可以用pyQT的设计工具,直接生成代码,这个比较快,而且不容易出错,形成之后再在这个代码基础上修改就好了,反正我每次都是这样做的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-14 12:16:14 | 显示全部楼层
gopythoner 发表于 2017-7-14 10:08
图形界面与函数分离
图形界面的设计不要用代码一行一样的去写,可以用pyQT的设计工具,直接生成代码,这个 ...

能不能说具体点.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-14 13:27:07 | 显示全部楼层

pyqt 有个designer工具,在安装目录里面可以直接运行
界面直接在这个工具里面设计好就行,然后一句命令就可以变成py代码
自己去查怎么用吧,神器
我弄的几百行的界面都是这个工具直接转换的,比自己写方便多了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-14 15:21:13 | 显示全部楼层
gopythoner 发表于 2017-7-14 13:27
pyqt 有个designer工具,在安装目录里面可以直接运行
界面直接在这个工具里面设计好就行,然后一句命令 ...

这个库太厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-14 15:29:50 | 显示全部楼层
gopythoner 发表于 2017-7-14 13:27
pyqt 有个designer工具,在安装目录里面可以直接运行
界面直接在这个工具里面设计好就行,然后一句命令 ...

IO)Y8M{A`6425LR6HV]F.png
是这个吗,怎么用呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-14 16:00:41 | 显示全部楼层
新手·ing 发表于 2017-7-14 15:29
是这个吗,怎么用呢

你是pip 安装的么?
如果是的话,可能就用不了,因为我最开始就是用的pip 按照发现有问题,所以换了安装文件按照的,那个版本里面能有一个exe文件,可以直接打开用
那时候我还特意让人给我下载了一个链接发给我的
http://bbs.fishc.com/thread-85987-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-14 16:06:48 | 显示全部楼层
gopythoner 发表于 2017-7-14 16:00
你是pip 安装的么?
如果是的话,可能就用不了,因为我最开始就是用的pip 按照发现有问题,所以换了安装 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 22:15:27 | 显示全部楼层
哎哎  如果有人能够用精彩实例完整展现一下pt5该有多好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-4 18:37:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-10-4 20:45:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-27 10:01:12 | 显示全部楼层
我是来学习的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-30 08:24:58 | 显示全部楼层

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-30 15:10:35 | 显示全部楼层
回复后能评分吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-16 15:36:27 | 显示全部楼层
参与/回复主题
关闭
RE: 《零基础入门学习Python课堂笔记》PyQt5篇 [修改]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-16 16:24:21 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-16 17:03:02 | 显示全部楼层
查看内容!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-17 19:53:11 | 显示全部楼层
厉害了我的哥。正是我想要的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 14:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表