0
저는 SQL 데이터베이스를 만들고 Python 및 PyQT로 만든 프로그램을 통해 데이터 작업을 할 수있는 대학 프로젝트에 바쁩니다.QtableView를 사용하여 MySQL의 정보를 PyQT 앱에 표시 할 수 없습니다.
데이터베이스를 만들고 테이블에 데이터를 추가했지만 지금은 QTableView
위젯을 사용하여 데이터를 표시해야하며 실행할 때 빈 창이 나타납니다.
사용자 이름, 암호 또는 데이터베이스 이름과 같은 세부 사항을 무작위로 변경하면 데이터베이스에 대한 연결이 이루어지지 않는다는 동일한 결과가 계속 나타납니다.
누군가 내 코드를보고 도움을 줄 수 있습니까? 오류 메시지를 얻기위한 조언이 있더라도?
from __future__ import division
import sys
from PyQt4 import QtCore, QtGui, QtSql
from showrec import*
def createConnection():
db=QtSql.QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('database')
db.setUserName('username')
db.setPassword('password')
db.open()
print(db.lastError().text())
return True
class MyForm(QtGui.QDialog):
def _init_(self,parent=None):
QtGui.QWidget._init_(self,parent)
self.ui=Ui_Dialog()
self.ui.setp.Ui(self)
self.model=QtSQL.QSqlTableModel(self)
self.Model.SetTable("table1")
self.Model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
self.model.select()
self.ui.tableView.SetModel(self.model)
if __name__ == "__main__":
app=QtGui.QApplication(sys.argv)
if not createConnection():
sys.exit(1)
myapp=MyForm()
myapp.show()
sys.exit(app.exec_())`
'self.ui.tableView.SetModel (self.model)':'setModel' 아닌가요? – JonBrave
'create' 연결에서 생성하고있는'db' 객체는이 함수 안에 있고 클래스에서 반환하고 할당하거나이 함수를 클래스 메쏘드로 만들고 self.db = ...를 사용하면됩니다. – PRMoureu