Ejemplo n.º 1
0
    def show_em(self):
        # 首先获取实际行数
        mm = Mysql_manager()
        with mm:
            result = mm.db_show()  # 返回二维元组
            # 显示控件已经建立,现在建立数据模型
            self.model = QtGui.QStandardItemModel(mm.cur.rowcount, 4)
            self.title = ['姓名', '部门', 'IP地址', 'MAC地址']
            self.model.setHorizontalHeaderLabels(self.title)
            # self.tableView.verticalHeader().setSectionResizeMode(QHeaderView.Stretch) # 垂直拉伸铺满
            self.tableView.setModel(self.model)  # 将控件和模型进行关联

            num = 0
            for i in result:
                item0 = QtGui.QStandardItem(i[0])  # 获取到的是姓名
                item1 = QtGui.QStandardItem(i[1])
                item2 = QtGui.QStandardItem(i[2])
                item3 = QtGui.QStandardItem(i[3])

                # 将数据显示到对应位置
                self.model.setItem(num, 0, item0)  # num行 0列,数值
                self.model.setItem(num, 1, item1)
                self.model.setItem(num, 2, item2)
                self.model.setItem(num, 3, item3)

                num += 1
Ejemplo n.º 2
0
    def export_excel(self,path):
        self.wb = Workbook()
        self.ws = self.wb.active
        # 先输出表头
        self.ws.cell(row = 1,column = 1).value = '姓名'
        self.ws.cell(row = 1,column = 2).value = '部门'
        self.ws.cell(row = 1,column = 3).value = 'IP地址'
        self.ws.cell(row = 1,column = 4).value = 'MAC地址'
        mm = Mysql_manager()
        with mm:
            result = mm.db_show()
            num = 2 # 计数递增使用
            for i in result:
                self.ws.cell(row = num,column = 1).value = i[0]
                self.ws.cell(row = num,column = 2).value = i[1]
                self.ws.cell(row = num,column = 3).value = i[2]
                self.ws.cell(row = num,column = 4).value = i[3]

                num += 1
            #最后记得需要保存
        print(f'数据成功导出到{path}')
        self.wb.save(path)