def chaxun(self,tableWidgetX: QTableWidgetItem,text: str,headerText: list): tableWidgetX.setSortingEnabled(False) # 设置排序关闭 tableWidgetX.clearContents() # 清空表格内容 tableWidgetX.setRowCount(0) # 设置数据区行数 rows = self.cur.execute(text) for i in range(rows): item = self.cur.fetchone() # 获取一组数组 row = tableWidgetX.rowCount() # 获得QTableWidget表格控件的行数 tableWidgetX.insertRow(row) # 插入行 for j in range(len(headerText)): if item[headerText[j]] is not None: items = QTableWidgetItem(item[headerText[j]]) tableWidgetX.setItem(i, j, items) else: pass tableWidgetX.resizeRowsToContents() # 自动行高 # tableWidgetX.resizeColumnsToContents() # 自动列宽 #设置表格头的伸缩模式,也就是让表格铺满整个QTableWidget控件 # self.ui.ryxx_tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) str="QHeaderView::up-arrow { subcontrol-position: center right; padding-right: 1px;" \ "image: url(ICO/ico/247.ico);}" + \ "QHeaderView::down-arrow { subcontrol-position: center right; padding-right: 1px;" \ "image: url(ICO/ico/248.ico);}" tableWidgetX.horizontalHeader().setStyleSheet(str) #修改排序图标的展现方式(修改图标、位置) # tableWidgetX.setSortIndicatorShown(bool show) # connect(tableWidgetX.horizontalHeader(), SIGNAL(sectionClicked(int)), # tableWidgetX, SLOT(sortByColumn(int))) # 连接信号与槽 # tableWidgetX.horizontalHeader().setSortIndicator(0, AscendingOrder) # tableWidgetX.horizontalHeader().setClickable(true) tableWidgetX.horizontalHeader().setSortIndicatorShown(True) # 显示排序图标 tableWidgetX.setSortingEnabled(True) # 设置排序已启用
def add_tab(biao_tou: list, tableWidgetX: QTableWidgetItem): tableWidgetX.setColumnCount(len(biao_tou)) # 设置列数 tableWidgetX.setRowCount(0) # 设置数据区行数 tableWidgetX.setHorizontalHeaderLabels(biao_tou) # 设置列命名biao_tou tableWidgetX.setAlternatingRowColors(True) # 交替行颜色 selMode = QAbstractItemView.SelectRows tableWidgetX.setSelectionBehavior(selMode) # 选择行为:行选择 tableWidgetX.setSortingEnabled(False) # 设置排序关闭
def add_tab(self,tab: QWidget,biao_ti: str,biao_tou: list,tableWidgetX: QTableWidgetItem): # self.add_tab(self.ui.xiangmuxinxi, '项目信息', headerText, self.ui.tableWidget_xm) while self.ui.ZhuCaiDan.indexOf(tab) < 0: self.ui.ZhuCaiDan.addTab(tab, biao_ti) # 添加选项卡tab,以及标题biao_ti tableWidgetX.setColumnCount(len(biao_tou)) # 设置列数 tableWidgetX.setRowCount(0) # 设置数据区行数 tableWidgetX.setHorizontalHeaderLabels(biao_tou) # 设置列命名biao_tou tableWidgetX.setAlternatingRowColors(True) # 交替行颜色 selMode = QAbstractItemView.SelectRows tableWidgetX.setSelectionBehavior(selMode) # 选择行为:行选择 # selMode = QAbstractItemView.SelectItems # self.ui.ryxx_tableWidget.setSelectionBehavior(selMode) # ##选择行为:单元格选择 w = self.ui.ZhuCaiDan.indexOf(tab) self.ui.ZhuCaiDan.setCurrentIndex(w) tableWidgetX.setSortingEnabled(False) # 设置排序关闭
def chaxun(self, tableWidgetX: QTableWidgetItem, text: str, headerText: list): """ 查询显示显示对应数据,并清空列表控件项 :param tableWidgetX: 列表控件项名称 :param text: 使用的MySQL语句 :param headerText: 需要显示的内容 """ tableWidgetX.setSortingEnabled(False) # 设置排序关闭 tableWidgetX.clearContents() # 清空表格内容 tableWidgetX.setRowCount(0) # 设置数据区行数 rows = self.cur.execute(text) for i in range(rows): item = self.cur.fetchone() # 获取一组数组 row = tableWidgetX.rowCount() # 获得QTableWidget表格控件的行数 tableWidgetX.insertRow(row) # 插入行 for j in range(len(headerText)): if item[headerText[j]] is not None: items = QTableWidgetItem(item[headerText[j]]) tableWidgetX.setItem(i, j, items) else: pass # tableWidgetX.resizeRowsToContents() # 自动行高 # tableWidgetX.resizeColumnsToContents() # 自动列宽 #设置表格头的伸缩模式,也就是让表格铺满整个QTableWidget控件 # self.ui.ryxx_tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) str="QHeaderView::up-arrow { subcontrol-position: center right; padding-right: 1px;" \ "image: url(ICO/ico/247.ico);}" + \ "QHeaderView::down-arrow { subcontrol-position: center right; padding-right: 1px;" \ "image: url(ICO/ico/248.ico);}" tableWidgetX.horizontalHeader().setStyleSheet( str) #修改排序图标的展现方式(修改图标、位置) tableWidgetX.horizontalHeader().setSortIndicatorShown(True) # 显示排序图标 tableWidgetX.setSortingEnabled(True) # 设置排序已启用 self.cur.close()