Форум сайта python.su
model = QtGui.QStandartItemModel()
db = pyodbc.connect(SomeConnectString)
cur=db.cursor()
cur.execute('SELECT * FROM dbase')
rows = cur.fetchall()
for row in rows():
model.appendRow( чаво тут писать? )
Если вписать туда row, то Qt обругается на то, что pyodbc.Row ему ни на кой не сдалась и он не умеет его готовить.
Как перевести pyodbc.row в list-of-QStandartItem?
Офлайн
Qt использует собственный MVC, если вы подключаетсь к базе данных не средствами Qt то скорее всего у вас ничего не получиться.
Пользуйтесь для подключения чем-нибудь вроде этого:
import sys try: from PySide.QtSql import QSqlDatabase, QSqlTableModel from PySide import QtGui, QtCore except ImportError: from PyQt4.QtSql import QSqlDatabase, QSqlTableModel from PyQt4 import QtGui, QtCore else: sys.sterr.write("Import Error: No package PyQt4 or PySide") def create_connect(database, host, port=3306, user, password): db = QSqlDatabase.addDatabase("QMYSQL") db.setDatabaseName(database) db.setHostName(host) db.setPort(port) db.setUserName(user) db.setPassword(password) if not db.open(): QtGui.QMessageBox.warning(None, "Error conection with database", db.lastError().text()) db.close() return False return True
Офлайн
Я не могу подключиться к dbf-файлу средствами Qt
Qt не умеет работать с dbf.
А мне надо считать dbf-файл и вывести его во view на форму.
Офлайн
Я не могу подключиться к dbf-файлу средствами Qt
Qt не умеет работать с dbf.
while q.next(): table = QtGui.QTreeWidgetItem(self.treeWidget) table.setText(0, q.value(0).toString())
Офлайн
Я пока что не пишу никакого конкретного приложения, просто пытаюсь как-нибудь вывести на экран dbf-файл.
Кстати, кажись это у меня получилось.
У меня вопрос: QStandardItem принимает только текстовые значения, что ль?
П.С. Ещё один вопрос на удачу: кто-нибудь умеет пользоваться языком Harbour (наследник Clipper)? Скачал, запускаю его IDE и ни черта не могу запустить. То он не знает куда собственный компилятор установил, то он ни в какую не хочет файл prg к проекту прицеплять, то ошибки крякозябрами пишет. Козёл этот харбор, короче. Я так на него надеялся…
Офлайн