-1
データリストモデルのデータリストを特定のパスの内容で埋めるにはどうすればよいですか?ここでPyQtとListModel
は私がやろうとしているものです:
class TestListModel(QAbstractListModel):
def __init__(self, parent=None):
QAbstractListModel.__init__(self, parent)
self.testnames = []
def load_docfiles(self):
cfg = Config()
for filename in glob.glob(os.path.join(cfg.test_path, 'test_*.rst')):
self.testnames = os.path.basename(filename)[5:-4]
filepath = os.path.abspath(filename)
print "load docfile", str(self.testnames)
return str(self.testnames)
def rowCount(self, index):
return len(self.testnames)
def data(self, index, role):
if role == Qt.DisplayRole:
cfg = Config()
for filename in glob.glob(os.path.join(cfg.test_path, 'test_*.rst')):
self.testnames = os.path.basename(filename)[:-4]
filepath = os.path.abspath(filename)
return self.testnames
def columnCount(self, index):
pass
もう一つの問題は、どのように私は私のリストビューから選択した項目に関連付けられている(qwebview中)HTMLページを読み込むことができますか?
ありがとうございます!
ありがとう:テスト名= self.model。 (アイテム、ロール) testname = self.testnames [index.row()] AttributeError: 'リスト'オブジェクトに属性 '行'がありません – user732663
'item'とは何ですか? 'data'はインデックスと役割が与えられることを期待しています。 'index'はQModelIndexでなければなりませんが、あなたがリストを渡そうとしているようです。 –
アイテムは、現在のテストがリストで選択され、ここでそれを取得するための方法であって、getSelectedTestName(自己)defで: 項目= self.list.selectedIndexes() 印刷「が選択テスト」、アイテム リターン項目 – user732663