① Qt中用tablewidget寫了一個表,如何獲取它的全部數據並保存到一個文件中
通過columnCount 和 rowCount 獲取到當前tablewidget的行數和列數,通過兩個for循環,用
QTableWidgetItem * item(int row, int column) const 成員函數遍歷所有的單元格,再用獲取到的QTableWidgetItem對象的virtual QVariant data(int role) const 成員函數取得單元格內數據,再調用QVariant的toString函數取得單元格內數據的字元串格式,然後你就可以將數據寫入文件了。
② python pyqt5模塊多次引入資料庫模塊崩了
更新或者重新安裝一個模塊。
Python已經成為最受歡迎的程序設計語言之一。
自從2004年以後,python的使用率呈線性增長。
由於Python語言的簡潔性、易讀性以及可擴展性,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經採用Python來教授程序設計課程。
例如卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論就使用Python語言講授。
③ 快進,pyqt4里有沒有辦法批量操作setText
import sys
from PyQt4 import QtCore, QtGui
class MyWindow( QtGui.QMainWindow ):
def __init__( self ):
QtGui.QMainWindow.__init__( self )
self.setWindowTitle( "PyQt" )
self.resize( 300, 200 )
app = QtGui.QApplication( sys.argv )
mywindow = MyWindow()
mywindow.show()
app.exec_()
④ 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_())
測試完成,連接成功。
⑤ python pyqt5 操作sqlite
'''
【簡介】
PyQt5中 處理database 例子
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtSql import QSqlDatabase , QSqlQuery
def createDB():
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('./db/database.db')
if name == ' main ':
app = QApplication(sys.argv)
createDB()
sys.exit(app.exec_())
'''
【簡介】
PyQt5中 處理database 例子
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
from PyQt5.QtCore import Qt
def initializeModel(model):
model.setTable('people')
model.setEditStrategy(QSqlTableModel.OnFieldChange)
model.select()
model.setHeaderData(0, Qt.Horizontal, "ID")
model.setHeaderData(1, Qt.Horizontal, "name")
model.setHeaderData(2, Qt.Horizontal, "address")
def createView(title, model):
view = QTableView()
view.setModel(model)
view.setWindowTitle(title)
return view
def addrow():
ret = model.insertRows(model.rowCount(), 1)
print('insertRows=%s' % str(ret))
def findrow(i):
delrow = i.row()
print('del row=%s' % str(delrow))
if name == ' main ':
app = QApplication(sys.argv)
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('./db/database.db')
model = QSqlTableModel()
delrow = -1
initializeModel(model)
view1 = createView("Table Model (View 1)", model)
view1.clicked.connect(findrow)
⑥ pyqt5支持MongoDB資料庫嗎
首先我們了解下,pyqt和mongodb。
PyQt是一個創建GUI應用程序的工具包。它是Python編程語言和Qt庫的成功融合。是創建人機交互界面的。
mongodb是一種資料庫。
你只需要用Python操作mongodb,把資料用pyqt設計的界面顯示即可。
祝好運,加油學習吧。望採納。
⑦ win10下用pyqt5連接postgresql資料庫,怎麼安裝資料庫驅動
點擊Download菜單,然後找到左邊導航的"Software Catalogue"欄目,點擊進入,從列表中選擇"Drivers and interfaces"分類,在載入的驅動和介面列表中選擇"psqlJDBC",這就是postgreSQLd的JDBC驅動(直接連接
⑧ pyqt顯示sql sever的中文是亂碼
解決:
[sql]
set names utf8;
--則等同於
www.2cto.com
set character_set_client=utf8;
set character_set_results=utf8;
set character_set_connection=utf8;
如果仍出現亂碼
執行set names gbk;或者set names gb2312;
⑨ pyqt操作Oracle資料庫 配置流程
1、python 版本和資料庫版本相同 都是32位或者 64位
2、 安裝cx_Oracle
3\import 使用
⑩ pyqt5子窗體中都引用了資料庫模塊,來回切換就出錯了
pyqt5是做界面的。
連接資料庫應該是pymysql,至於插入不進去,可能是執行sql之後沒有commit。
在使用pyqt5連接mysql資料庫時,出現連接錯誤,QSqlDatabase::availabledrivers:解決方法是,進入sql驅動目錄,能找到共享庫libqsqlmysql.so/usr/local/lib/python3.6/dist-packages/PyQt5/Qt/sqldrivers,運行終端命令。