我是靠谱客的博主 长情大米,最近开发中收集的这篇文章主要介绍PyQt4学习日记1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部