from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
import sys
class Test(QMainWindow):
def __init__(self):
super().__init__()
self.create()
def create(self):
self.db = QSqlDatabase.addDatabase('SQLITE')
self.db.setDatabaseName('management.db')
self.db.open()
self.x()
self.layout =QVBoxLayout()
self.layout.addWidget(self.table_view)
self.widget=QWidget()
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)
def x(self):
self.model = QSqlTableModel()
self.model.setEditStrategy(QSqlTableModel.OnManualSubmit)
self.model.setTable("management")
self.table_view=QTableView()
self.table_view.setModel(self.model)
self.table_view.model().select()
self.table_view.show()
ap = QApplication(sys.argv)
wi = Test()
wi.show()
wi.raise_()
ap.exec_()
上面的代码是一个简单的对象,我打算创建一个窗口来查看我的数据库的内容。但它产生的只是一个空白的白框。谢谢!
数据库中有数据,由不同的表(实体)组成。我只能说这些。
最佳答案
看起来您使用的是 invlaid 驱动程序类型。
QSqlDatabase 的 Qt 文档说你想要其中之一:
The currently available driver types are:
Driver Type Description
QDB2 IBM DB2
QIBASE Borland InterBase Driver
QMYSQL MySQL Driver
QOCI Oracle Call Interface Driver
QODBC ODBC Driver (includes Microsoft SQL Server)
QPSQL PostgreSQL Driver
QSQLITE SQLite version 3 or above
QSQLITE2 SQLite version 2
QTDS Sybase Adaptive Server
看来你需要试试:
self.db = QSqlDatabase.addDatabase('QSQLITE')
关于Python:为什么我的数据库不显示在这个窗口中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21079759/