當前位置:首頁 » 操作系統 » 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
熱點內容
opc伺服器對接opc映射ip 發布:2024-10-27 09:37:01 瀏覽:593
解決跨站腳本攻擊 發布:2024-10-27 09:31:56 瀏覽:679
安卓怎麼下載國際版公寓 發布:2024-10-27 09:31:49 瀏覽:557
奇跡免費連擊腳本 發布:2024-10-27 09:18:10 瀏覽:877
python278 發布:2024-10-27 09:13:07 瀏覽:239
排列組合演算法c 發布:2024-10-27 09:11:41 瀏覽:436
希捷伺服器硬碟能用於普通電腦嗎 發布:2024-10-27 09:10:44 瀏覽:543
php訪問量統計 發布:2024-10-27 08:56:39 瀏覽:251
androidactivity關閉 發布:2024-10-27 08:50:01 瀏覽:774
安川模擬腳本 發布:2024-10-27 08:30:46 瀏覽:331