第一课 PyQt5编程介绍环境搭建

第一课 python-GUI编程介绍环境搭建

tags:

  • python
  • 网易云课堂

categories:

  • pyqt5
  • pyqt5-tools
  • QtDesiginer

第一节 PyQt的介绍

1. Qt简介

  1. 使用C++语言编写的跨平台GUI库,支持Windows、Mac OSx和Linux。由于Qt使用C++语言编写,所以使用Qt开发的GUI程序的界面风格与当前操作系统完全相同,而且运行效率很高。
  2. GUI:带图形用户接口的程序,也就是我们经常说的桌面应用。

2. Qt历史

  1. Qt是挪威的一-家名为Trolltech (奇趣科技)的公司开发的-一个C++ GUI工具集,其中包括跨平台类库、集成开发工具和跨平台IDE,既可以用于开发GUI程序,也可以用于开发非GUI程序。使用Qt开发的代码只需要在不同的操作系统平台.上重新编译,就可以在该平台上运行。也就是说,用Qt开发的程序的跨平台模式是源代码级的。
  2. 2008年6月,Trolltech公 司被Nokia (诺基亚)收购,2012年8月,芬兰的Digia公司从Nokia收购了Qt业务.
  3. Qt跨平台的集成开发工具Qt Creator

3. PyQt简介

  1. PyQt是一个用于创建GUI应用程序的跨平台工具包,它将Python与Qt库融为一-体。
  2. 也就是说,PyQt允许使用Python语言调用Qt库中的APl。这样做的最大好处就是在保留了Qt高运行效率的同时,大大提高了开发效率。因为,使用Python语 言开发程序要比使用C++语言开发程序快得多
  3. PyQt对Qt做了完整的封装,几乎可以用PyQt做Qt能做的任何事情。由于目前最新的PyQt版本是5.11,所以习惯上成为PyQt为PyQt5。

4. PyQt学习知识

  1. Qt Designer
  2. PyQt5基本窗口控件(QMainWindow、 Qwidget、 Qlabel、 QLineEdit、 菜单、工具栏等)
  3. PyQt5高级组件( QTableView、QListView、 容器、多线程等)
  4. PyQt5布局管理(QBoxLayout、 QGridLayout、 QFormLayout、 嵌套布局等)
  5. PyQt5信号与槽(事件处理、数据传递等)
  6. PyQt5图形与特效(定制窗口风格、绘图、QSS与UI美化、不规则窗口、设置样式等)
  7. PyQt5扩展应用(制作PyQt5安装程序、数据处理、第三方绘图库在PyQt5中的应用、UI自动化测试等)

第二节 PyQt的环境搭建

1. 虚拟环境的搭建

  1. 安装虚拟环境。 pip install virtualenvwrapper-win -i https://pypi.douban.com/simple/
  2. 安装pyqt5. pip install pyqt5 -i https://pypi.douban.com/simple/
  3. 安装pyqt5-tools pip install pyqt5-tools -i https://pypi.douban.com/simple/

2. Pycharm中配置QtDesiginer

  1. Setting中tool下的External tools
  2. Program: E:\PY_ENV\py3_pyqt5\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
  3. Working directory: $ProjectFileDir$
    在这里插入图片描述

3. PyQt第一个桌面应用

from PyQt5.QtWidgets import QApplication, QWidget, QLabel
import sys


#开发第-个基于PyQt5的桌面应用
app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle("第一个基于pyqt5的桌面应用")
window.resize(500, 500)
window.move(400, 200)

label = QLabel(window)
label.setText("Hello PyQt5")
label.move(200, 200)

window.show()

#进入程序的主循环、并通过exi t函数确保主循环安全结束
sys.exit(app.exec_())

4. 将.ui文件转换为.py文件

  1. 把当前面板保存成ui文件。
  2. 方法一python命令行:python -m PyQt5.uic.pyuic first.ui -o first.py
  3. 按照2.2中方法配置PyUIC。
    • Program: E:\PY_ENV\py3_pyqt5\Scripts\python.exe
    • Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
    • Working directory: $FileDir$
      在这里插入图片描述
  4. 方法二直接调用External tools下的 PyUIC

第三节 PyQt的常用语法

1. 获取期望尺寸

  1. 尺寸策略(sizePolicy) 、sizeHint (期望尺寸) 、最小期望尺寸
  2. 对于大多数控件来说,sizeHint的值是只读的
  3. 控件的宽度期望尺寸获取:sizeHint().width()
  4. 控件的高度期望尺寸获取:sizeHint().height()
  5. 控件的最小宽度期望尺寸获取:minimumsizeHint().width()
  6. 控件的最大高度期望尺寸获取:minimumsizeHint().height()
self.textEdit.setObjectName("textEdit")
# 期望尺寸
print(self.textEdit.sizeHint().width())
print(self.textEdit.sizeHint().height())
# 最小期望尺寸
print(self.textEdit.minimumsizeHint().width())
print(self.textEdit.minimumsizeHint().height())

2. 在Qt Designer中设置信号与槽

  1. 信号(signal)和槽(slot)是Qt的核心机制,也是PyQt的核心机制
  2. 信号:是由对象或控件发射出去的消息。
  3. 按钮的单击事件: 当单击按钮时,按钮就会向外部发送单击的消息,这些发送出去的信号需要一些代码来拦截,
  4. 这些代码就是槽槽本质.上是一个函数或方法
发布了61 篇原创文章 · 获赞 8 · 访问量 2826

猜你喜欢

转载自blog.csdn.net/aa18855953229/article/details/103839219