是子類化QSqlRelationalTableModel。Reimplimenting QSqlRelationalTableModel - 數據函數返回字符串不是代碼
class Titles(QSqlRelationalTableModel):
def __init__(self):
QSqlRelationalTableModel.__init__(self)
self.setTable("titles")
self.setRelation(self.fieldIndex("type"), QSqlRelation("title_type", "id", "type"))
self.select()
print self.record(0).value("title").toString() # 1
def data(self, i, role):
if role == Qt.DisplayRole:
print self.record(0).value("title").toString() # 2
return self.record(0).value("title").toString() # 3
titles = Titles()
print iswcTitlesModel.record(0).value("title").toString() # 4
所有上述打印空間(它返回正確的行量,但只作爲空白空間)。 如果數據功能被刪除,#1 &#4打印。 如果返回「string」,則所有項目都被填充。該模型被實例化,並且預期的返回代碼在模型定義之外工作。嘗試了多個其他的SQL表,都與一個關係,但即使沒有關係,它不起作用。任何人都可以看到發生了什麼問題?
嗨ngulam,感謝您的答覆。該解決方案沒有任何區別,但在Python 2.7中。即使沒有關係,數據仍然不會返回,所以它似乎更多爲什麼self.record(0).value(「title」)。toString()不工作(它返回,但只有空白),但返回「字符串」確實有效。問候 – user2422819