Exemple #1
0
    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)            # 设置排序已启用
Exemple #2
0
 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)  # 设置排序关闭
Exemple #3
0
    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)  # 设置排序关闭
Exemple #4
0
    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()