08-12-2014, 01:26 PM
saya ingin menampilkan database di dalam sebuah tableView dan terdapat comboBox untuk memilih tabelnya. Di aplikasi ini memiliki script untuk memilih file database secara manual, yg menjadi pertanyaan saya setelah di-run ternyata pada bagian tableView tidak menampilkan apapun. Ini script saya:
mohon pencerahannya? terimakasih
Code:
class Database:
def __init__(self, parent=None):
self.db = None
def connect(filename):
self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
self.db.setDatabaseName(filename)
self.db.open()
if not self.db.open():
MessageBox = ctypes.windll.user32.MessageBoxA
MessageBox(None, 'Bukan File SQLite3 Database', 'Alert', 0)
class Model(QtSql.QSqlTableModel):
def __init__(self, parent=None):
super(Model, self).__init__(parent)
self.model = QtSql.QSqlTableModel(self)
self.model.setTable("sqlite_master")
self.model.select()
class Ui_MainWindow(QtGui.QMainWindow):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
....
def db_clicked(self):
filename = QtGui.QFileDialog.getOpenFileName(MainWindow, "Open File", '',
'Database (*.db) \nAll File (*.*)', None, QtGui.QFileDialog.DontUseNativeDialog)
self.db_lineEdit.setText(filename)
def read_clicked(self):
self.db = Database()
self.model = Model(self)
combo = self.comboBox_tabel
combo.setModel(self.model)
combo.setModelColumn(self.model.fieldIndex("name"))
projectView = self.tableView_db
projectView.setModel(self.model)
projectView.show()