广州网站定制多少钱,告白网站怎么做,网站推广软件有哪些,大数据分析网站在上一篇文章中我们搭建好了PyQt5的开发环境#xff0c;打铁到趁热我们基于搭建好的环境来简单实战一把
一#xff1a;PyQt5包模块简介
PyQt5包括的主要模块如下。
QtCore模块——涵盖了包的核心的非GUI功能#xff0c;此模块被用于处理程序中涉及的时间、文件、目录、数… 在上一篇文章中我们搭建好了PyQt5的开发环境打铁到趁热我们基于搭建好的环境来简单实战一把
一PyQt5包模块简介
PyQt5包括的主要模块如下。
QtCore模块——涵盖了包的核心的非GUI功能此模块被用于处理程序中涉及的时间、文件、目录、数据类型、文本流、链接、QMimeData、线程或进程等对象。QtGui模块——涵盖了多种基本图形功能的类包括但不限于窗口集、事件处理、2D图形、基本的图像和界面、字体和文本类。QtWidgets模块——包含了一整套UI元素控件用于建立符合系统风格的Classic界面非常方便可以在安装时选择是否使用此功能。QtMultimedia模块——包含了一套类库用于处理多媒体事件通过调用API接口访问摄像头、语音设备、收发消息Radio Functionality等。QtBluetooth模块——包含了处理蓝牙活动的类库其功能包括扫描设备、连接、交互等行为。QtNetwork模块——包含了用于进行网络编程的类库通过提供便捷的TCP/IP及UDP的C/S代码集合使得基于Qt的网络编程更容易。QtPositioning模块——用于获取位置信息此模块允许使用多种方式实现定位包括但不限于卫星、无线网、文字信息。此模块一般用在网络地图定位系统中。Enginio模块——用于构建客户端的应用程序库在运行时访问Qt Cloud 服务器托管的应用程序。QtWebSockets模块——包含了一组类程序用于实现WebSocket协议。QtWebKit模块——包含了用于实现基于WebKit2的网络浏览器的类库。QtWebKitWidgets模块——提供了一组类库用于实现一种由Widgets包构建的、基于WebKit1的网络浏览器。QtXml模块——包含了用于处理XML的类库此模块为SAX和DOM API 的实现提供了函数。QtSvg模块——通过一组类库为显示矢量图形文件的内容提供了函数。QtSql模块——提供了数据库对象的接口以供使用。QtTest模块——包含了通过单元测试调试PyQt5应用程序的功能。QtHelp模块——包含了用于创建和查看可查找的文档的类。QtOpenGL模块——使用OpenGL库来渲染3D和2D图形。该模块使得Qt GUI库和OpenGL库无缝集成。QtXmlPatterns模块——所包含的类实现了对XML和自定义数据模型的Xquery与XPath的支持。QtDesigner模块——所包含的类允许使用PyQt扩展Qt Designer。Qt模块——将上面模块中的类综合到一个单一的模块中。这样做的好处是你不用担心哪个模块包含了哪个特定的类坏处是加载到整个Qt框架中从而增加了应用程序的内存占用。uic模块——所包含的类用来处理.ui文件该文件由Qt Designer创建用于描述整个或者部分用户界面。它可以将.ui文件编译为.py文件以便其他Python程序调用。
PyQt5增加了很多模块可以去官方网站查看基本上看模块名字就知道大概用处了。PyQt5已经没有phonon模块了使用QtMultimedia来处理媒体。 另外PyQt5新增的QtWebEngineWidgets模块替代了过时的QtWebKit但是QtWebKit还在而新模块更耗内存具体使用哪个由读者自己决定。
PyQt 5主要类介绍
PyQt5 API拥有620多个类和6000个函数。它是一个跨平台的工具包可以运行在所有主流的操作系统上包括Windows、Linux和Mac OS。
QObject类在类层次结构中是顶部类Top Class它是所有PyQt对象的基类。QPaintDevice类所有可绘制的对象的基类。QApplication类用于管理图形用户界面应用程序的控制流和主要设置。它包含主事件循环对来自窗口系统和其他资源的所有事件进行处理和调度它也对应用程序的初始化和结束进行处理并且提供对话管理还对绝大多数系统范围和应用程序范围的设置进行处理。QWidget类所有用户界面对象的基类。QDialog类和QFrame类继承自QWidget类这两个类有自己的子类系统Sub-Class System。QFrame类有框架的窗口控件的基类。它也被用来直接创建没有任何内容的简单框架但是通常要用到QHBox或QVBox因为它们可以自动布置放到框架中的窗口控件。QMainWindow类提供一个有菜单栏、锚接窗口如工具栏和状态栏的主应用程序窗口。QDialog类最普通的顶级窗口。如果一个窗口控件没有被嵌入到父窗口控件中那么该窗口控件就被称为顶级窗口控件。在通常情况下顶级窗口控件是有框架和标题栏的窗口。在Qt中QMainWindow和不同的QDialog的子类是最普通的顶级窗口。QLabel控件用来显示文本或图像。QLineEdit窗口控件提供了一个单页面的单行文本编辑器。QTextEdit窗口控件提供了一个单页面的多行文本编辑器。QPushButton窗口控件提供了一个命令按钮。QRadioButton控件提供了一个单选钮和一个文本或像素映射标签。QCheckBox窗口控件提供了一个带文本标签的复选框。QspinBox控件允许用户选择一个值要么通过按向上/向下键增加/减少当前显示值要么直接将值输入到输入框中。QScrollBar窗口控件提供了一个水平的或垂直的滚动条。QSlider控件提供了一个垂直的或水平的滑动条。QComboBox控件一个组合按钮用于弹出列表。QMenuBar控件提供了一个横向菜单栏。QStatusBar控件提供了一个适合呈现状态信息的水平条通常放在QMainWindow的底部。QToolBar控件提供了一个工具栏可以包含多个命令按钮通常放在QMainWindow的顶部。QListView控件可以显示和控制可选的多选列表可以设置ListMode或IconMode。QPixmap控件可以在绘图设备上显示图像通常放在QLabel或QPushButton类中。Qdialog控件对话框窗口的基类。
QWidget是所有用户界面类的基类它能接收所有的鼠标、键盘和其他系统窗口事件。没有被嵌入到父窗口中的Widget会被当作一个窗口来调用当然它也可以使用setWindowFlags(Qt.WindowFlags)函数来设置窗口的显示效果。QWidget的构造函数可以接收两个参数其中第一个参数是该窗口的父窗口第二个参数是该窗口的Flag也就是Qt.WindowFlags。根据父窗口来决定Widget是嵌入到父窗口中还是被当作一个独立的窗口来调用根据Flag来设置Widget窗口的一些属性。 QMainWindow主窗口一般是应用程序的框架在主窗口中可以添加所需要的Widget比如添加菜单栏、工具栏、状态栏等。主窗口通常用于提供一个大的中央窗口控件如文本编辑或者绘制画布以及周围的菜单栏、工具栏和状态栏。QMainWindow常常被继承这使得封装中央控件、菜单栏工具栏以及窗口状态变得更容易也可以使用Qt Designer来创建主窗口。
二实战
1选择控件 需要三个控件PushButton, Horizontal Spacer, Text Edit
PushButton按钮
Horizontal Spacer水平填充主要是为了布局好看
Text Edit显示
2控件布局
先同时选中PushButton和Horizontal Spacer然后点击水平布局 同时选中三个控件点击垂直布局 3指定点击事件 点击上图中带箭头的按钮进入事件编辑模式然后光标移动到“PushButton”按钮上----鼠标左键点击“PushButton”不要松开--拖动光标到界面上的的任一空白位置后再松开鼠标左键需要注意的是需要移到空白位置出现接地的图标才能自己指定事件函数如果鼠标拖到下边的Text Edit控件就是另外一个效果了只能使用既定的函数如下图 4指定事件函数 点击保存成ui文件
4ui转成python文件 转换完成后出现了一个firstUI.py文件
5程序实现
新建main.py
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from firstUI import Ui_Formclass MyPyQT_Form(QWidget,Ui_Form):def __init__(self):super(MyPyQT_Form,self).__init__()self.setupUi(self)def pushButton_show(self):self.textEdit.setText(按钮点击)if __name__ __main__:app QApplication(sys.argv)my_pyqt_form MyPyQT_Form()my_pyqt_form.show()sys.exit(app.exec_())
运行