Tag: qtablewidget

PyQt从excel中填充QTableWidget

即时尝试填充QTableWidget从Excel文件中的一些数据,我想添加行到我的QTable只有当ID是在列表ID,并且我在QTable单元格中没有数据 https://drive.google.com/file/d/0B_PFK3V2Ij4tSko4emplYmNuN1E/view?usp=sharing这里是一个excel文件,它不包含任何格式或公式,只是空的行和列,因为文件是自动生成的 这是我的代码 wb = openpyxl.load_workbook(os.path.join(os.getcwd(), file), read_only=True) ws = wb.active headers = [] for item in ws[4]: headers.append(item.value) headers.pop(0) listID = [] for index in range(self.listWidgetID.count()): listID.append(self.listWidgetID.item(index).text()) data = ws.iter_rows(row_offset=5, column_offset=1) row_increment = 0 self.tableWidgetDATA.setRowCount(1) self.tableWidgetDATA.setColumnCount(len(headers)) self.tableWidgetDATA.setHorizontalHeaderLabels(headers) for x, rows in enumerate(data): if str(rows[0].value) in listID: for y, cell in enumerate(rows): item = QTableWidgetItem(str(cell.value)) […]

如何在QTableWidget上实现类似Excel的过滤机制?

任何人都可以给我一些想法,在QTableWidget上创build一个过滤机制(如Microsoft Excel中可用)? 每当我点击一个列的名称,我希望头过滤机制自动激活该表。 我在Windows上构build。 更新这里是我的部分实现。 但我需要帮助实施slot testanother(const QString &text)来显示表中的匹配数据并隐藏不匹配的数据。 bool TableData::filterSlot() { int columnCount = this->tablewidget->columnCount(); int rowCount = this->tablewidget->rowCount(); QStringList filterList; QString temp_string; qDebug()<<"Count inside filter slot is"; qDebug()<<rowCount<<":"<<columnCount; for(int c = 0; c<columnCount;c++) { for(int r = 0; r<rowCount;r++) { temp_string = this->tablewidget->item(r,c)->text(); if(!filterList.contains(temp_string)) filterList << temp_string; } filterList << "None"; combo = […]