当前位置:首页 » 操作系统 » pyqt4linux

pyqt4linux

发布时间: 2022-05-25 15:30:21

⑴ pyqt4怎么连接mysql数据库

pyqt4连接mysql数据库的方法:
原料:sip-4.17.tar.gz、PyQt-gpl-5.5.1.tar.gz安装包
下载后解压缩到用户目录。

键入以下命令:
python configure.py (或python)
make&sudo make install
1、安装mysql的sqldrivers
默认情况下qt只有SQLite驱动,其它驱动要自己安装:
sudo apt-get install libqt4-sql-mysql libqt5sql5-mysql

sudo apt-get install libqt4-sql-psql libqt5sql5-psql
2、对于安装MATLAB的系统可能出现动态链接库版本问题

如import QtPy模块时出错

>>> from PyQt4.QtQtSql import *
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
ImportError: /opt/local/MATLAB/R2012a/bin/glnxa64/QtSql.so.4: undefined symbol: _ZN31

locate QtSql.so
然后把链接改到系统库下
/opt/local/MATLAB/R2012a/bin/glnxa64/libQtSql.so.4 -> /usr/lib/x86_64-linux-gnu/libQtSql.so.4.8.6
我的系统里QtCore、QtGui、QtOpenGL、QtNetwork等都有问题、需要以上操作。修改后未发现MATLAB运行异常
3、测试代码
mysql
#-*- coding: utf-8 -*-
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtSql import *
import sys
#创建数据库连接
def createConnection():
#选择数据库类型,这里为mysql数据库
db=QSqlDatabase.addDatabase("QMYSQL")
db.setDatabaseName("you_db")
db.setHostName("localhost") #set address
db.setUserName("you_usr"); #set user name
db.setPassword("you_passwd"); #set user pwd
#打开数据库
#打开数据库
if (db.open()):
print ("Success")
else:
print ("Failed to connect to mysql")
#创建表
def createTable():
#创建QsqlQuery对象,用于执行sql语句
q=QSqlQuery()
q.exec_("create table if not exists t1 (f1 integer primary key,f2 varchar(20))")
q.exec_("delete from t1")
#这里使用 u 将字符串转换成unicode编码,解决中文乱码
q.exec_(u"insert into t1 values(1,'我')")
q.exec_(u"insert into t1 values(2,'我')")
q.exec_("commit")

class Model(QSqlTableModel):
def __init__(self,parent):
QSqlTableModel.__init__(self,parent)
#设置要载入的表名
self.setTable("t1")
#这一步应该是执行查询的操作
self.select()
#数据更新的策略,详细可以查看Qt文档
self.setEditStrategy(QSqlTableModel.OnManualSubmit)

class TestWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
vbox=QVBoxLayout(self)
self.view=QTableView()
self.model=Model(self.view)
self.view.setModel(self.model)
vbox.addWidget(self.view)
if __name__=="__main__":
a=QApplication(sys.argv)
createConnection()
createTable()
w=TestWidget()
w.show()
sys.exit(a.exec_())

测试完成,连接成功。

⑵ PyQt起源于什么软件,这个软件有什么特点

摘要 PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3,PyQt4支持Qt4,可以用来代替Python语言内置的Tkinter。其它替代者还有PyGTK、wxPython、Tkiner等。与Qt一样,PyQt是一个自由软件。PyQt是PyKDE的基础。PyQt的开发者是英国的“Riverbank Computing”公司。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没有分开。PyQt是用SIP写的。PyQt遵从奇趣的许可模式,有GPL版和商业版。因此它可以

⑶ 谁会在linux下编译安装pyqt4

两种方法。
第一种: 你已安装setuptools
然后easy_install pyqt4

第二种:下载pyqt4 然后解压,进入pyqt4的目录 python setup.py install

⑷ 怎么在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 mole 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 server命令行下截图网页图片

安装Python-webkit。

安装PyQt4相关依赖(4.10.1-13.el7)

yum install PyQt4.x86_64
yum install PyQt4-devel.x86_64
yum install PyQt4-webkit.x86_64
yum install PyQt4-webkit-devel.noarch1234

安装Xvfb(虚拟X server)

yum install xorg-x11-server-Xvfb.x86_641

运行命令行

webkit2png http://sina.com.cn -x 1280 1200 --output=home.png

⑹ linux上安装文件失败,是虚拟机,这个东西我打开看是有安装包的,但是为什么会安装失败的

因为,
This system is not registered with RHN.
RHN support will be disabled.
所以,你虽然有安装包,但是下载不下来。
所以,安装失败。

RHEL的服务是收费的。

⑺ 在linux的python中‘import matplotlib.pyplot as plt ’出现‘段错误 (核心已转储)’的错误

提示信息已经说得很明白了,需要 dateutil 这个另外的第三方包。 在DOS窗口下用下面的命令装 pip install python-dateutil

⑻ 如何编写linux聊天室

自从开始学linux网络编程后就想写个聊天室,一开始原本打算用多进程的方式来写,可是发觉进程间的通信有点麻烦,而且开销也大,后来想用多线程能不能实现呢,于是便去看了一下linux里线程的用法,实际上只需要知道 pthread_create 就差不多了,于是动手开干,用了两天时间,调试的过程挺痛苦的,一开始打算用纯C来撸,便用简单的数组来存储客户端的连接信息,可是运行时出现了一些很奇怪的问题,不知道是不是访问了临界资源,和线程间的互斥有关等等;奇怪的是,当改用STL的set或map时问题就解决了,但上网搜了下发现STL也不是线程安全的,至于到底是什么问题暂时不想去纠结了,可能是其它一些小细节的错误吧。先贴上代码:

首先是必要的头文件 header.h:

#!/usr/bin/env python#-*- coding: utf-8 -*-from PyQt4 import QtGui, QtCoreimport sysimport socketimport threadclass Client(QtGui.QWidget):

BUF_LEN = 1024 def __init__(self, parent=None):

QtGui.QWidget.__init__(self, parent)

self.setWindowTitle(u'TCP客户端')
self.resize(600, 500)
self.center()
layout = QtGui.QGridLayout(self)

label_ip = QtGui.QLabel(u'远程主机IP:')
layout.addWidget(label_ip, 0, 0, 1, 1)
self.txt_ip = QtGui.QLineEdit('127.0.0.1')
layout.addWidget(self.txt_ip, 0, 1, 1, 3)

label_port = QtGui.QLabel(u'端口:')
layout.addWidget(label_port, 0, 4, 1, 1)
self.txt_port = QtGui.QLineEdit('9003')
layout.addWidget(self.txt_port, 0, 5, 1, 3)

self.isConnected = False
self.btn_connect = QtGui.QPushButton(u'连接')
self.connect(self.btn_connect, QtCore.SIGNAL( 'clicked()'), self.myConnect)
layout.addWidget(self.btn_connect, 0, 8, 1, 2)

label_recvMessage = QtGui.QLabel(u'消息内容:')
layout.addWidget(label_recvMessage, 1, 0, 1, 1)

self.btn_clearRecvMessage = QtGui.QPushButton(u'↓ 清空消息框')
self.connect(self.btn_clearRecvMessage, QtCore.SIGNAL( 'clicked()'), self.myClearRecvMessage)
layout.addWidget(self.btn_clearRecvMessage, 1, 7, 1, 3)

self.txt_recvMessage = QtGui.QTextEdit()
self.txt_recvMessage.setReadOnly(True)
self.txt_recvMessage.setStyleSheet('background-color:yellow')
layout.addWidget(self.txt_recvMessage, 2, 0, 1, 10)

lable_name = QtGui.QLabel(u'姓名(ID):')
layout.addWidget(lable_name, 3, 0, 1, 1)
self.txt_name = QtGui.QLineEdit()
layout.addWidget(self.txt_name, 3, 1, 1, 3)

self.isSendName = QtGui.QRadioButton(u'发送姓名')
self.isSendName.setChecked(False)
layout.addWidget(self.isSendName, 3, 4, 1, 1)

label_sendMessage = QtGui.QLabel(u' 输入框:')
layout.addWidget(label_sendMessage, 4, 0, 1, 1)
self.txt_sendMessage = QtGui.QLineEdit()
self.txt_sendMessage.setStyleSheet("background-color:cyan")
layout.addWidget(self.txt_sendMessage, 4, 1, 1, 7)
self.btn_send = QtGui.QPushButton(u'发送')
self.connect(self.btn_send, QtCore.SIGNAL('clicked()'), self.mySend)
layout.addWidget(self.btn_send, 4, 8, 1, 2)

self.btn_clearSendMessage = QtGui.QPushButton(u'↑ 清空输入框')
self.connect(self.btn_clearSendMessage, QtCore.SIGNAL( 'clicked()'), self.myClearSendMessage)
layout.addWidget(self.btn_clearSendMessage, 5, 6, 1, 2)
self.btn_quit = QtGui.QPushButton(u'退出')
self.connect(self.btn_quit, QtCore.

⑼ 如何使用pyqt4打包成能在linux下运行的可执行文件

你先要知道的是,对于:可执行文件:
linux下有对应的ELF类的,就是你生成的,是可以执行的;
windows下:才叫做exe,是对应的别的格式的;需要在Windows平台下去打包,才能生成exe格式的。

所以,对于你的问题的答案是:
的确是无法在linux下生成exe的,是正常的。
如果非要生成,则需要到windows下去折腾,才能生成exe。

详见:
【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件

更建议用,更好用的:PyInstaller,详见:
【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

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

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

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

yumlistqscintilla*

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

yuminstallqscintilla*


2、源码编译方法

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

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

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

#qmakeqscintilla.pro
#make
#makeinstall

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

#python./configure.py
#make
#makeinstall
热点内容
学cnc数控编程 发布:2024-10-27 11:04:56 浏览:226
mallat算法 发布:2024-10-27 11:03:57 浏览:33
讲脚本 发布:2024-10-27 10:47:54 浏览:713
存储免疫细胞 发布:2024-10-27 10:46:56 浏览:493
粉标溯源码 发布:2024-10-27 10:44:28 浏览:139
网吧服务器如何搭建 发布:2024-10-27 10:27:49 浏览:391
安卓手机如何设置不让玩王者荣耀 发布:2024-10-27 10:27:43 浏览:762
没有配置的游戏怎么玩 发布:2024-10-27 10:25:32 浏览:431
c语言好看 发布:2024-10-27 10:14:25 浏览:604
java写入数组 发布:2024-10-27 10:06:59 浏览:178