sqlite3 データベース テーブルのデータが入力された基本的なコンボ ボックスがあります。
self.langModel = QSqlTableModel(self)
self.langModel.setTable("languages")
self.langModel.setSort(self.langModel.fieldIndex("label"), Qt.AscendingOrder)
self.langModel.select()
...
self.comboLangs = QComboBox()
self.comboLangs.setModel(self.langModel)
self.comboLangs.setModelColumn(self.langModel.fieldIndex("label"))
self.layout.addRow("Language", self.comboLangs)
...
self.btnAdd = QPushButton("Add")
self.btnAdd.clicked.connect(self.addLoc)
self.btnLayout.addWidget(self.btnAdd)
...
def addLoc(self):
pprint(vars(self.langModel.data(self.langModel.index(self.comboLangs.currentIndex(), self.langModel.fieldIndex("iso")))))
テーブル スキーマは次のとおりです。
CREATE TABLE languages (
id INTEGER PRIMARY KEY NOT NULL,
iso TEXT NOT NULL,
label TEXT NOT NULL
);
これは空の dict を生成するだけ{}
です。QSqlTableModel から選択/現在のアイテムのデータ オブジェクトを取得するにはどうすればよいですか?