python - 如何使用 QSQL 从 PYQT5 Python 中的 Sqlite3 数据库中获取 QCombo BOX 中的记录列表
问题描述
我想从数据库表中获取记录列表。这些是插入数据库的两个列名“id”和“lable”的值。
INSERT INTO "phone_number_type" VALUES(1,'Home');
INSERT INTO "phone_number_type" VALUES(2,'Work');
INSERT INTO "phone_number_type" VALUES(3,'Mobile');
INSERT INTO "phone_number_type" VALUES(4,'Mistress');
INSERT INTO "phone_number_type" VALUES(5,'Meth Dealer');
我只想将列名“标签”放入 QComboBox。这是我的代码:
import sys
import sqlite3
from PyQt5 import QtSql
from PyQt5.QtSql import QSqlDatabase
from PyQt5.QtWidgets import QMainWindow, QApplication
from combobox import Ui_MainWindow
class fetchrec(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("ttest.db")
self.model = QtSql.QSqlTableModel(self)
self.model.setTable("phone_number_type")
self.comboBox.setModelColumn(self.model.fieldIndex("lable"))
self.comboBox.setModel(self.model)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
userins = fetchrec()
userins.show()
sys.exit(app.exec_())
解决方案
推荐阅读
- qt - QML 使用字符串访问组件以引用它的 ID
- ios - 如何在 Swift5 上的函数中运行“performSegue”?
- ios - IQKeyboardManager 滚动整个屏幕,但只想滚动 tableview 内容
- reactjs - React TypeScript:使用引用链接
- angular - 如何在 Angular 7 中使用 GET 传递多选数据
- unity3d - 如何在 Unity 中为 3D“飞行”敌人创建 NavMeshAgent Pathfinder
- haskell - Haskell Newbie - 发生检查:无法构造无限类型:a ~ [a]
- swift - Facebook Graph API:Swift SDK 不工作:GraphRequest
- python-3.x - 我们如何通过增加索引来增加列表的元素?
- javascript - 如何在多部分/表单数据请求中发送对象而不在 Angular 中转换为字符串