Я пытаюсь отобразить некоторую простую информацию из базы данных SQLite в QTableView. Я следил за одним ответом от SO, и для себя это работающий. Когда я пытаюсь внедрить тот же код в свой графический интерфейс (просто главное окно с объектом QTableView), он ничего не показывает. Вот код:
from PyQt4 import QtCore, QtGui
from gui import Ui_MainWindow
from dialog import Ui_Dialog
from PyQt4.QtSql import QSqlQueryModel,QSqlDatabase,QSqlQuery
import sys
class Glavni(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Glavni, self).__init__()
self.ui=Ui_MainWindow()
self.ui.setupUi(self)
self.show()
#QtCore.QObject.connect(self.ui.actionRegistar, QtCore.SIGNAL("triggered()"), self.popup)
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("baza.db")
db.open()
projectModel = QSqlQueryModel()
projectModel.setQuery("select name from people",db)
projectView = QtGui.QTableView()
projectView.setModel(projectModel)
projectView.show()
def popup(self):
dialog = QtGui.QDialog()
dialog.show()
class Dialog(QtGui.QDialog):
def __init__(self,parent=None):
super(Dialog,self).__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
prozor = Glavni()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Что я делаю не так? Имя QListView в QT Designer — lista, если это имеет значение. Спасибо.