概述
1. PyQt4类库
解析:PyQt类库是用来创建GUI应用程序的工具包,它把Python和成功的Qt绑定在一起,有超过300个类和超过6000个方法。PyQt4模块,如下所示:
(1)QtCore模块:包括了核心的非GUI功能,该模块用来对时间、文件、目录、各种数据类型、流、网址、媒体类型、线程或进程进行处理。
(2)QtGui模块:包括图形化窗口组件和及相关类。包括按钮、窗体、状态栏、滑块、位图、颜色、字体等。
(3)QtHelp模块:包含了用于创建和查看可查找的文档的类。
(4)QtNetwork模块:包括网络编程的类。这些类可以用来编写TCP/IP和UDP的客户端和服务器。它们使得网络编程更容易和便捷。
(5)QtOpenGL模块:使用OpenGL库来渲染3D和2D图形。该模块使得Qt GUI库和OpenGL库无缝集成。
(6)QtScript模块:包含了使PyQt应用程序使用JavaScript解释器编写脚本的类。
(7)QtSql模块:提供操作数据库的类。
(8)QtSvg模块:提供了显示SVG文件内容的类。可缩放矢量图形(SVG)是一种用XML描述二维图形和图形应用的语言。
(9)QtTest模块:包含了对PyQt应用程序进行单元测试的功能。(PyQt没有实现完全的Qt单元测试框架,相反它假设使用标准的Python单元(10)测试框架来实现模拟用户和GUI进行交互)
(10)QtWebKit模块:实现了基于开源浏览器引擎WebKit的浏览器引擎。
(11)QtXml:包括处理XML文件的类,该模块提供了SAX和DOM API的接口。
(12)QtXmlPatterns:模块包含的类实现了对XML和自定义数据模型的XQuery和XPath的支持。
(13)phonon模块:包含的类实现了跨平台的多媒体框架,可以在PyQt应用程序中使用音频和视频内容。
(14)QtMultimedia模块:提供了低级的多媒体功能,开发人员通常使用phonon模块。
(15)QtAssistant模块:包含的类允许集成Qt Assistant到PyQt应用程序中,提供在线帮助。
(16)QtDesigner模块:包含的类允许使用PyQt扩展Qt Designer。
(17)Qt模块:综合了上面描述的模块中的类到一个单一的模块中。这样做的好处是你不用担心哪个模块包含哪个特定的类,坏处是加载进了整个Qt框架,从而增加了应用程序的内存占用。
(18)uic模块:包含的类用来处理.ui文件,该文件由Qt Designer创建,用于描述整个或者部分用户界面。它包含的加载.ui文件和直接渲染以及从.ui文件生成Python代码为以后执行的类。
2. QWidget组件
解析:QWidget窗口组件是PyQt4中所有用户界面对象的基类。
3. QMainWindow组件
解析:QMainWindow类提供应用程序主窗口,可以创建一个经典的拥有状态栏、工具栏和菜单栏的应用程序骨架。
4. self.connect(self.exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
解析:连接行为的triggered()信号到预定义的close()槽。
5. QGridLayout组件
解析:最常用的布局类是网格布局(QGridLayout),网格布局把空间划分成行和列。
6. 信号与槽
解析:
(1)一个信号可以与另一个信号相连
connect(Object1, SIGNAL(signal1), Object2, SIGNAL(signal1))表示Object1的信号1发射触发Object2的信号1发射。
(2)一个信号可以与多个槽相连
connect(Object1,SIGNAL(signal2),Object2,SLOT(slot2));connect(Object1,SIGNAL(signal2),Object3,SLOT(slot1))
(3)同一个槽可以响应多个信号
connect(Object1,SIGNAL(signal2),Object2,SLOT(slot2));connect(Object3,SIGNAL(signal2),Object2,SLOT(slot2))
说明:当我们调用程序exec_()方法,程序进入主循环。主循环捕获事件并把它们发往对象。信号和槽用于对象之间的通讯。当一个特殊的事件发生时,将发射信号,槽可以是任何Python调用,当链接到槽的信号发射,该槽将被调用。
7. 对话框
解析:
(1)QInputDialog提供一个简单的对话框,以便从用户获取单个值。输入值可以是一个字符串,一个数字或者列表的一项。
(2)QColorDialog颜色对话框为定制颜色提供一个对话框组件。
(3)QFontDialog是一个用来选择字体的对话框组件。
(4)QFileDialog允许用户选择文件或文件夹,可选择文件来打开和保存。
8. 窗口组件
解析:
(1)QCheckBox(复选框)是一个由两种状态(On和Off)的窗口组件。它是一个带标签的框,每段一个复选框被选中和或者清除时,都将发射信号stateChanged()。
(2)QSlider滑块是由一个简单的滑柄的窗口组件。该滑柄可以前后拖动,通过这种方式可以为特定任务选择值。有时候使用滑块比简单提供数值或使用微调框(spin box)更自然。QLabel显示文字或图像。
(3)QProgressBar进度条使用来处理长时间任务的窗口组件,当看到它的动画时,用户就知道任务正在进行中。在PyQt4工具包中,QProgressBar 窗口组件提供水平或者垂直的进度条,任务被分成一些阶段。程序员可以为进度条设置最小值和最大值,默认是0,99。
(4)QCalendarWidget提供基于月份的日历窗口组件,它允许用户简单并且直观的选择日期。
(5)QPixmap是处理图像的窗口组件之一,非常适合在屏幕上显示图像。
(6)QLineEdit窗口组件用来输入或者编辑单行纯文本,有撤销/重做,剪切/粘贴和拖放功能。
(7)QSplitter使得用户可以通过拖动子窗口组件的边界来控制子窗口组件的尺寸。
(8)QComboBox窗口组件允许用户从列表清单中选择。
9. 将Python源码打包为可执行文件
(1)cx_Freeze
(2)PyInstaller
解析:
pip install pyinstaller
pyinstaller -w -F XXX.py
说明:-w屏蔽命令行窗口;-F将应用程序打包成一个独立的可执行文件。
(3)py2exe
10. QWidget、QMainWindow、QDialog和QFrame区别
解析:在Qt中所有的类都有一个共同的基类QObject,QWidget直接继承QPaintDevice类,QDialog、QMainWindow、QFrame直接继承QWidget类。
(1) QWidget类是所有用户界面对象的基类。
(2)QMainWindow 类提供一个菜单条、锚接窗口(比如工具栏)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件以及周围菜单、工具条和一个状态条。
(3)QDialog类是对话框窗口的基类。
(4)QFrame类是有框架的窗口部件的基类。
说明:如果是顶级对话框,那就是基于QDialog创建,如果是主窗体,就基于QMainWindow,如果不确定,或有可能作为顶级窗体,或有可能嵌入到其它窗体中,则基于QWidget创建。
11. Qt Designer设计对话框
解析:Qt Designer设计对话框步骤,如下所示:
(1)创建窗体并在窗体中放置各种控件。
(2)对窗体进行布局设计。
(3)设置各控件的标签顺序。
(4)创建信号和槽。
(5)连接信号和槽。
说明:使用pyuic4脚本来将.ui文件转换成.py文件,比如pyuic4 -x project.ui -o project.py。
12. 布局管理器
解析:常用到的布局类有QHBoxLayout,QVBoxLayout,QGridLayout,QFormLayout4种。布局中最常用的方法有addWidget()和addLayout(),addWidget()方法用于在布局中插入控件,addLayout()用于在布局中插入子布局。
(1)水平布局管理器(QHBoxLayout)可以把添加的控件以水平的顺序依次排开;
(2)垂直布局管理器(QVBoxLayout)可以把添加的控件以垂直的顺序依次排开;
(3)网格布局管理器(QGridLayout)可以以网格的形式,把添加的控件以一定矩阵排列;
(4)窗体布局管理器(QFormLayout)可以以两列的形式排列所添加的控件。
13. setColumnStretch
解析:网格布局默认是均分每列,为了更好的控制布局,QGridLayout为每列提供了最小宽度(setColumnMinimumWidth())、伸缩因子(setColumnStretch()),为每行提供了最小高度(setRowMinimumHeight())、伸缩因子(setRowStretch())。
14. QLineEdit,QTextEdit,QPlainTextEdit
解析:
(1)QLineEdit:单行文本。
(2)QTextEdit:多行文本。
(3)QPlainTextEdit。
15. QDockWidget类
解析:QDockWidget类提供了一个特殊的窗口部件,它可以是被锁在QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。
16. QWidget.setFixedSize
解析:
(1)QWidget.setFixedSize (self, int w, int h)
(2)QWidget.setFixedSize (self, QSize)
17. QAction组件
解析:QAction可以包含图标、菜单文本、快捷键、状态条文本、这是什么文本和工具提示,它们可以分别通过
setIconSet()、setText()、setMenuText()、setToolTip()、setStatusTip()、setWhatsThis()和setAccel()来设置。
18. PyQt4组件
解析:QListWidget,QAction,QSettings,QDockWidget,QCheckBox,QTableWidget,QInputDialog,
QPushButton,ButtonBox,QMessageBox,QFont,QPixmap,QIcon,QTextBrowser,QLineEdit,QTextEdit,QDial,QSpinbox,QComboBox,QDoubleSpinBox,QGroupBox等。
参考文献:
[1] PyQt4教程:http://www.qaulau.com/books/PyQt4_Tutorial/
最后
以上就是长情大米为你收集整理的PyQt4学习日记1的全部内容,希望文章能够帮你解决PyQt4学习日记1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复