一、 链接数据库呈现查询结果
def cdb(self):
dbconn = sqlite3.connect('./db/database.db') # 链接数据库
cursor = dbconn.cursor() #设置游标
sqlstr ='select * from people'
cursor.execute(sqlstr)
values = cursor.fetchall() # 获取结果
row = len(values)
vol = len(values[0])
self.tview.rowCountChanged(0,row) # 获取行数
self.tview.rowCountChanged(0,vol) # 获取列数
self.tview.horizontalHeader().setStretchLastSection(True) # 自动填充
self.tview.horizontalHeader().setFont(QFont('宋体',11,1)) # 表头字体
self.tview.horizontalHeader().setStyleSheet('color:blue;font-weight:bold') # 表头字体颜色
self.tview.horizontalHeader().setAutoFillBackground(True)
self.tview.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) # 选中整行
self.tview.setEditTriggers(QAbstractItemView.NoEditTriggers) # 不可编辑
self.tview.verticalHeader().hide() # 隐藏行号
self.model = QStandardItemModel(row,vol) # 建立数据模型
self.tview.setModel(self.model)
self.model.setHorizontalHeaderLabels(['序号','用户名','姓名','密码','级别','角色']) # 设置表头
for i in range(row): # 遍历填充数据
for j in range(vol):
t_data = values[i][j]
data = QStandardItem(str(t_data)) # 数据转换
# self.tview.setitem(i,j,data).
self.model.setItem(i,j,data)
print(vol,row)
dbconn.close()