网站首页 >> 创业项目 >> 正文 提交收录

pyQt实例源码下载(pyqt5编程)

时间:2022年06月08日 12:06:27

本文目录一览:

怎么在linux下搭建pyqt的开发环境

以Ubuntu 12.10下搭建PyQt环境为例!

make

安装Python(由于此版本默认有Python2.7和Python3.2故可省去)

之一步:下载Qt4源代码

第二步:下载SIP( SIP is a tool forautomatically generating Python bindings for C andC++ libraries)

第三步:下载PyQt

第四步:配置SIP:

解压sip-XXXXX.tar.gz压缩包,进入sip-XXXXX目录

运行

python configure.py

注意:If you have multiple versions of Python installed then make sure

you use theinterpreter for which you wish SIP to generate bindings for.

也就是说我采用Python3.x进行开发,那么使用的命令是:python3 configure.py

shell下的结果是:

lieo@ubuntu:~/download/sip-4.14.2$ python3 configure.py

This is SIP 4.14.2 for Python 3.2.3 on linux2.

The SIP code generator will be installed in /usr/bin.

The sip module will be installed in /usr/lib/python3/dist-packages.

The sip.h header file will be installed in /usr/include/python3.2mu.

The default directory to install .sip files in is /usr/share/sip.

make

注意: 这步可能会报找不到Python.h文件的错误(没报错跳到make install)

这是因为缺失头文件和静态库包,

假如使用python2.7运行

sudo apt-get install python-dev

假如使用python3运行

sudo apt-get install python3-dev

make install

第五步:编译安装Qt4

Ubuntu默认没有编译环境,运行以下命令安装编译环境

sudo apt-get install build-essential

#进入qt源码目录运行

./configure

结果:Qt will be installed into /usr/local/Trolltech/Qt-4.8.4

make

make install

1.如果在./configure阶段,出现了以下错误

Basic XLib functionality test failed!

You might need to modify the include and library search paths by editing

QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11

那是因为没装有libxtst-dev,使用命令apt-get install libxtst-dev安装

2.如果在make阶段,出现一下错误

/usr/bin/ld: cannot find -lXrender

make[1]: *** [../../../../lib/libQtWebKit.so.4.7.3] 错误 1

make: *** [sub-webkit-make_default-ordered] 错误 2

那是因为没有装libxrender-dev

3.在qt create中,尝试编译测试,如果找不到qmake,则在工具-选项-QT4中手动设置qmake的位置。qmake的位置默认在/usr/local/Trolltech/Qt-4.8.4/bin/qmake。

当这几个步骤全部完成后,把“PATH=/usr/local/Trolltech/Qt-4.8.4/bin:$PATH

export PATH”加到.profile中,Qt就安装成功了。

或者 在.bashrc文件(如果你的shell是bash、ksh、zsh或者sh)中,添加下面这些行:

QTDIR=/usr/local/Trolltech/Qt-4.8.4

PATH=$QTDIR/bin:$PATH

LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

第六步:安装PyQt

#进入PyQt源码目录运行以下命令安装PyQt

#前提是Qt4和SIP以正确安装

python configure.py

make

make install

至此配置完成

在Linux centos7.0下安装和pyqt4和Eric

两种 *** ,一是用yum方式安装,第二就是下载源码编译安装。

1、使用yum安装,首先需要添加epel源,然后

yum list qscintilla*

应该可以看到可用的qscintilla的安装包,使用yum命令安装即可,但是有可能安装的版本不一定是2.8.4了

yum install qscintilla*

2、源码编译 ***

a.首先下载源码包QScintilla-gpl-2.8.4.tar.gz

b.解压源码包:tar -zxvf QScintilla-gpl-2.8.4.tar.gz

c.进入解压后目录的Qt4目录,执行下面三个命令:

#qmake qscintilla.pro

#make

#make install

d.进入解压后目录的Python目录,执行下面三个命令:

#python ./configure.py

#make

#make install

pyqt4支持python2.7吗

支持的

首先安装python-2.7.6.amd64.msi,具体的配置步骤这里就不细说了,百度一下就解决了。

紧接着就是安装pycharm-professional-4.0.4.exe,这是一个python编辑器,比官方的编辑器好用得多,可以自动代码补全,还能调试运行,功能非常丰富!

再跟着就是安装PyQt4-4.11.2-gpl-Py2.7-Qt4.8.6-x64.exe,其实pyqt与C++的qt差不多的,用法都非常相似!

接着安装cx_Freeze-4.3.3.win-amd64-py2.7.msi,这个是用来打包Python程序为exe运行文件来用的,当然你也可以用其他的打包工具,但是我极力推荐这个。

最后要安装chardet-1.0.1-py2.5.egg.rar,这个是跟Python对文件的编码检测的一个开发包,百度一下就有地方下载了,python对文本处理非常强大,有它非常方便!

磨刀不误砍柴工,正式开工:

用pyqt4的界面设计工具–qt设计师,进行界面开发如下图:

pyqt4的界面设计工具非常简单易用,只要你用别的软件进行过控件开发,那么这个自然就会了!

如果还不明白就可以看“PyQt4 精彩实例分析(语法高亮带书签).pdf”,里面包含了很多示例。

界面设计完成后,保存得到以ui为后缀的文件,我的为“mainText.ui”,“configText.ui”两个文件,有了界面文件就要转换成Python能调用的包,具体转换的 *** 看“PyQt4

精彩实例分析(语法高亮带书签).pdf”中的示例。我的是分别转换成两个文件“ConfigText.py”,“SuperProcessText.py”。

至此开始正式编码的工作,主窗口运行文件是superTextProcessTool.py,配置窗口的运行文件是ConfigTextTool.py。

对于文件编码转换,控件之间如何调用,如何处理消息,都有了完整的示例,界面是仿照网上的一个软件做出来的-“超级文本处理工具”做出来的。如果碰到不懂的函数,那么可以查看“PyQt4.chm”,它包含了Pytqt4所有的函数说明!

求一个PyQt5的图片浏览的例子

PyQt5不兼容PyQt4(尽管经验表明,将PyQt4的应用程序移植到PyQt5难度不是很大)。本节描述了两者之间的主要差异。

支持Python的版本

不支持较早的Python2.6之前的版本┊。

推荐使用特性

PyQt5不支持任何被标记为过时的或废弃的QT V5.0 的API。然而,还是可能有一些逗漏网之鱼地。如果将来发现了,这些错误将被删除。

多个API

PyQt4支持许多不同的API版本(QString,QVariant等)。QVariant

PyQt5只支持V2版本的API。一个例外:对于QVariant ,去除了QPyNullVariant。

老式的信号和槽

PyQt4的旧式的信号和槽不再被支持。因此以下用法在PyQt5中已经不能使用:

QObject.connect()

QObject.emit()

SIGNAL()

SLOT()

所有那些含有参数,并且对返回结果调用SIGNAL()或SLOT()的 *** 不再被支持。绑定信号与调用函数总是等效的。

此外,另一个差异是增加了下面的函数:

disconnect() 断开所有对 QObject实例的连接,不需要参数。

新风格的信号和槽

QT实现的信号与一个可选的参数作为两个独立的信号,一个与论点 和一个没有它。PyQt4暴露这两允许你连接到他们每个 。然而,当发射信号,你必须使用适当的参数 发出的信号数。

PyQt5暴露唯一的信号在所有指定参数。然而它 允许任何可选参数被省略时,发射信号。

不同于PyQt4,PyQt5支持在类中自定义属性、信号与槽,即使这个类没有继承自QObject(比如:混合类)。

QtDeclarative,QtScript和QtScriptTools模块

PyQt4的QtDeclarative,QtScript和QtScriptTools模块不再支持。这些已被替换为PyQt5的QtQml和QtQuick模块,PyQt5支持 Python对象创建QML。

QtGui模块

PyQt4的QtGui模块,在PyQt5中被拆分成三个模块:QtGui,QtPrintSupport和QtWidgets。

QtOpenGL模块

只有QGlContext,QGlFormat和QGlWidget类被PyQt5支持。

QtWebKit模块

PyQt4的QtWebKit模块被分成PyQt5的QtWebKit和QtWebkitWidgets模块。

pyqtconfig模块

PyQt4的pyqtconfig模块不支持。截面PyQt5扩展的API介绍了支持PyQt5 (例如提供第三方包qscintilla ),要建立在PyQt5。

dbus.mainloop.qt模块

PyQt4的dbus.mainloop.qt模块称为dbus.mainloop.PyQt5在 PyQt5。这使得他们可以并排安装。它们的功能是 相同。

QDataStream

的readuint8(),readint8(),writeuint8()和writeint8() *** 解释值 读写数字。PyQt4中它们被解释为 单个字符的字符串。

QFileDialog

PyQt4的QFileDialog类的getOpenFileNameAndFilter(),getOpenFileNamesAndFilter()和getSaveFileNameAndFilter() *** ,

在PyQt5中已更名为 getOpenFileName(),getOpenFileNames()和getSaveFileName()。

而PyQt4原来的getOpenFileName(),getOpenFileNames()和getSaveFileName()不再被PyQt5支持。

QGraphicsItemAnimation

对废弃的QGraphicsItemAnimation类的支持已被删除。如果移植现有的PyQt4应用程序,首先考虑用QPropertyAnimation替换。

QMatrix

对废弃的QMatrix类的支持已被删除。如果移植现有的PyQt4应用程序,首先考虑用QTransform替换。

QPyTextObject

PyQt4的QPyTextObject,是作为一个无法定义一个继承多个Qt类的Python类的变通的解决 *** 。PyQt5 支持定义一个Python类,来继承多个Qt类,只要他们已经在C++声明为Q_DECLARE_INTERFACE 。所以,QPyTextObject没有在PyQt5中实现。

QSet

PyQt4,套装在Python中的V2和V3一组Python 列表实现。在PyQt5套装总是作为一个集实现。

pyuic5

pyuic5不支持pyqt3——包装国旗pyuic4。

pyrcc5

pyrcc5不支持- PY2和- PY3国旗pyrcc4。输出pyrcc5兼容所有版本的Python Python 2.6 入手。

多重继承

不像PyQt4 PyQt5类实现多重继承,合作。在其他的话总是做 PyQt5类下面的Python代码在等效 V3__init__ *** (如kwds是一个未使用的关键词 参数字典):

super().__init__(**kwds)

这意味着,那些未使用的关键字的参数传递给__init__任何mixin类的 *** 。这些混合类必须合作,即 必须如果他们有自己做一个类似的 *** __init__实现。

当使用多重继承PyQt4是常见的 *** __init__的超类 *** 明确,例如:

class MyQObject(QObject, MyMixin):

def __init__(self, parent, mixin_arg):

QObject.__init__(self, parent)

MyMixin.__init__(self, mixin_arg)

# Other initialisation...

在上述将导致PyQt5mymixin __init__。被称为两 。而要实现:

class MyQObject(QObject, MyMixin):

def __init__(self, **kwds):

super().__init__(**kwds)

# Other initialisation...

请注意,如果没有其他的初始化做那么__init__ *** 不需要。

混合类应实施如下:

class MyMixin:

def __init__(self, mixin_arg, **kwds):

super().__init__(**kwds)

# Other initialisation...

wxPython和PyQt谁才是最赞的Python GUI库

PYQT可以做MFC能做的任何事情。且开发简单,推荐PYQT,现在是5.11.2了

如何安装pyqt5,找不到网上各种博客上的.exe安装包,只有源码包,解压后如图

这里发不了URL,你到百度搜索

PyQt sourceforce

就可以找到下载地址,exe的。