मैं QTreeView
में प्रदर्शित होने के लिए QAbstractItemModel
का उप-वर्ग बना रहा हूं।मैं Pytht4 में QVariant से अपनी पायथन ऑब्जेक्ट को वापस कैसे प्राप्त करूं?
मेरे index()
और parent()
समारोह QAbstractItemModel
विरासत में मिला समारोह createIndex
उपयोग करने और इसे उपलब्ध कराने के row
, column
, और data
जरूरत QModelIndex
पैदा करता है। यहां, परीक्षण उद्देश्यों के लिए, डेटा एक पायथन स्ट्रिंग है।
class TestModel(QAbstractItemModel):
def __init__(self):
QAbstractItemModel.__init__(self)
def index(self, row, column, parent):
if parent.isValid():
return self.createIndex(row, column, "bar")
return self.createIndex(row, column, "foo")
def parent(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return self.createIndex(0, 0, "foo")
return QModelIndex()
def rowCount(self, index):
if index.isValid():
if index.data().data() == "bar": <--- NEVER TRUE
return 0
return 1
def columnCount(self, index):
return 1
def data(self, index, role):
if index.isValid():
return index.data().data() <--- CANNOT DO ANYTHING WITH IT
return "<None>"
index()
,
parent()
, और
data()
कार्यों मैं अपने डेटा वापस प्राप्त करने की आवश्यकता के भीतर
। यह QVariant
के रूप में आता है। मैं अपने पायथन ऑब्जेक्ट को QVariant से वापस कैसे प्राप्त करूं?
यह उत्तर प्रारंभिक प्रश्न के साथ अधिक इनलाइन है। इससे मुझे धन्यवाद मिली – Craig