文档章节

在centos 6.2,python2.7 下安装QT 4.8.3,pyqt 4.9.5 详细步骤

mickelfeng
 mickelfeng
发布于 2017/06/02 10:38
字数 743
阅读 13
收藏 0
点赞 0
评论 0

在linux 下开发桌面应用,最常见的开发工具就是QT,而python是开源世界的轻骑兵,学习简单,开发高效,因此有了 pyqt 这个包用 python  来做 QT 开发。下面详细介绍其步骤。
一、基础环境配置
二、在centos 下编译,安装QT-4.8.3
三、安装pyqt
四、测试

基本环境搭建
g++ 是必须安装的.
yum -y install gcc automake autoconf libtool make
yum install gcc-c++

在安装QT 之前,还有可能要执行如下的命令,安装需要的依赖包
yum install libX*

1. 安装python2.7 (可以参考 http://www.yihaomen.com/article/linux/284.htm 这篇文章)
2. 更改python 软连接,因为centos 自带的python是 2.6.6 的,不满足需要。

cd /usr/bin
rm -rf python
ln -s /usr/local/bin/python2.7 python


这样做了之后,可能导致一个问题yum 命令不能用,这时需要修改yum
vi /usr/bin/yum
修改第一行的python路径 #!/usr/bin/python2.6 因为centos 是用的python2.6

安装PYQT SIP
下载 pyqt sip: http://nchc.dl.sourceforge.net/project/pyqt/sip/sip-4.14.1/sip-4.14.1.tar.gz
解压后 运行:
python configure.py
make
make install

安装PYQT
安装PYQT:http://nchc.dl.sourceforge.net/project/pyqt/PyQt4/PyQt-4.9.5/PyQt-x11-gpl-4.9.5.tar.gz
下载后解压.

[root@localhost PyQt-x11-gpl-4.9.5]# python configure.py 
[root@localhost PyQt-x11-gpl-4.9.5]# python configure.py 
Error: Make sure you have a working Qt qmake on your PATH or use the -q
argument to explicitly specify a working Qt qmake.


你发现,报错了,装不了,提示没有 qmake, 
因为没有安装QT,所以,还得安装QT,
下载地址: http://origin.releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz
解压之后:

./configure (大约要10分钟)
结果如下:
Qt is now configured for building. Just run 'gmake'.
Once everything is built, you must run 'gmake install'.
Qt will be installed into /usr/local/Trolltech/Qt-4.8.3

make  (要等很久)
make install (要等10分钟左右)


你会发现 QT4.8.3 安装成功,你可以在安装目录/usr/local/Trolltech/Qt-4.8.3/bin/下  运行设计器 designer

然后再重新安装PYqT
 

[root@localhost PyQt-x11-gpl-4.9.5]# python configure.py -q /usr/local/Trolltech/Qt-4.8.3/bin/qmake
Determining the layout of your Qt installation...
This is the GPL version of PyQt 4.9.5 (licensed under the GNU General Public
License) for Python 2.7.3 on linux2.

Type '2' to view the GPL v2 license.
Type '3' to view the GPL v3 license.
Type 'yes' to accept the terms of the license.
Type 'no' to decline the terms of the license.

Do you accept the terms of the license? yes


在configure 的时候,指定了qmake的路径.
成功之后,然后再 
make (要等一段时间)
make install
成功运行命令后,PYQT 安装成功.你可以在python解析器下,运行import PyQt4 来检测是否安装成功.


测试脚本,并运行

import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('yihaomen.com QT TEST')
widget.show()
sys.exit(app.exec_())




所以在centos 下安装qt,pyqt的关键就是,安装的顺序,另外 pyqt sip 也很重要,一定要在安装pyqt前安装,因为这个东西决定安装在那个python下面吧,如果有多个python在机器上。另外就是定qmake  的路径。

本文转载自:http://www.yihaomen.com/article/linux/313.htm

共有 人打赏支持
mickelfeng

mickelfeng

粉丝 227
博文 2557
码字总数 554045
作品 0
成都
高级程序员

暂无文章

ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
3分钟前
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
5分钟前
0
0
合格前端第十二弹-TypeScript + 大型项目

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
8分钟前
0
0
编程学习之如何在Node.js中优化服务器端渲染?[图]

编程学习之如何在Node.js中优化服务器端渲染?[图] 在 Airbnb,我们花了数年时间将所有前端代码迁移到 React 架构,Ruby on Rails 在 Web 应用中所占的比例每天都在减少。实际上,我们很快会...

原创小博客
10分钟前
0
0
gradle学习笔记

相关文档 适合新手的 gradle 自学教程合集 Gradle教程

OSC_fly
24分钟前
0
0
Virtual Serial Port - RFC2217

Virtual Serial Port for Linux RFC-2217 The COM Port Control Protocol pyserial - RFC 2217 NetSerial - Windows Telnet COM Port - RFC Official Using Python, How do I make a virtual......

zungyiu
31分钟前
0
0
全球的IPv6部署急剧增加,中国进度较慢

导读 全球的IPv6部署继续增加,但中国在IPv6方面还需要努力,从部署图上分析,中国几乎没有几个地方是普及IPv6的。这6年来,自世界IPv6发布以来,全球网络和服务提供商的IPv6部署水平急剧增加...

问题终结者
35分钟前
1
0
好看的电影记录

星际迷航三 狂暴之路 新木乃伊 黑夜传说 铁血战士2

xd03122049
39分钟前
0
0
记录Yii2框架开发遇到微信错误提示

转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...

durban
41分钟前
1
0
LSM树(Log-Structured Merge Tree)存储引擎浅析

其实每一种数据库,它都是一种抽象的数据结构的具体实现。 随着rocksDB(facebook的),levelDB(google的),以及我们熟知的hbase,他们都是使用的LSM树结构的数据库。 它的核心思路其实非常...

算法之名
54分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部