Cara koneksi Python (PyQt) dengan MySQL di Ubuntu
Berikut ini cara koneksi Python dengan GUI Qt ke MySQL di Sistem Operasi Ubuntu :
![]() |
Sumber : https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Python_and_Qt.svg/164px-Python_and_Qt.svg.png |
- python 2.7.6
- sudo apt-get install python2.7 python2.7-dev
- pyqt4
- sudo apt-get install pyqt4-dev-tools
- mysql
- sudo apt-get install mysql-server-5.5
- library myql untuk qt4
- sudo apt-get install libqt4-sql-mysql
Buat program python dengan kode sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 | from PyQt4 import QtSql db = QtSql.QSqlDatabase.addDatabase("QMYSQL") db.setHostName("localhost") db.setDatabaseName("rflogger") db.setUserName("root") db.setPassword("1234") db.open() model = QtSql.QSqlQueryModel() model.setQuery("SELECT * FROM rf;") print model.record(0).value("name").toString() |
Pada program ini menggunakan konfigurasi mysql pada komputer saya. Jika rekan-rekan ingin mencoba, silahkan sesuaikan parameternya.
- setHostName
- setDatabaseName
- setUsername
- setPassword
- setQuery
- model.record(0).value("...").toString
Jika tidak belum punya database, bisa gunakan contoh database ini. Kemudian sesuaikan
- setHostName
- setUsername
- setPassword
Setelah itu save kode program python tersebut, dan jalankan di program terminal :
python namaProgram.py
atau program ini jika menggunakan visual :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | from PyQt4 import QtGui, QtSql, QtCore import sys class cobaMysql(QtGui.QWidget): def __init__(self): super(cobaMysql, self).__init__() self.initUI() def connectDB(self): self.db.setHostName("localhost") self.db.setDatabaseName("rflogger") self.db.setUserName("root") self.db.setPassword("1234") self.db.open() self.model.setQuery("SELECT * FROM rf;") self.model.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"ID")) self.model.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"ID Card")) self.model.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"Nama")) self.model.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"ID Kendaraan 1")) self.model.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"ID Kendaraan 2")) self.model.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"Jatuh Tempo")) self.model.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QObject.tr(self.model,"No. Tlpn")) def initUI(self): # konek database self.db = QtSql.QSqlDatabase.addDatabase("QMYSQL") #query mode self.model = QtSql.QSqlQueryModel() self.connectDB() #membuat table view untuk query model self.view = QtGui.QTableView(); self.view.setModel(self.model) self.view.resizeColumnsToContents() self.view.verticalHeader().hide() #layout utama grid = QtGui.QGridLayout() grid.setSpacing(10) grid.addWidget(self.view,1,0) #form utama self.setLayout(grid) self.resize(700,300) self.setWindowTitle('MYSQL DEMO [Rattosoft 2014]') self.center() self.show() def center(self): frameGm = self.frameGeometry() centerPoint = QtGui.QDesktopWidget().availableGeometry().center() frameGm.moveCenter(centerPoint) self.move(frameGm.topLeft()) def main(): app=QtGui.QApplication(sys.argv) ex=cobaMysql() sys.exit(app.exec_()) if __name__ == '__main__': main() |
Mudah bukan?
Selamat mencoba...
0 comments:
Post a Comment