qt tablewidget的显示问题

遇到一个奇葩问题,就是明明人家写的程序,tablewidget显示都很正常。

但是我的程序运行起来tablewidget显示不满,跟人家完全不一样。

经过我的同事逐行比较发现我的程序顺序不对。

我的是先把每行每列的尺寸都定义好,最后定义table的行数和列数。

正确的顺序是正好相反的。

以后一定要引以为戒。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt,可以使用QTableWidget来实现表格的显示和管理。如果需要实现分页显示,可以通过以下步骤来实现: 1. 在QTableWidget添加分页控件,例如QComboBox或QSpinBox,用于选择需要显示的页数。 2. 定义一个函数来更新表格的显示,该函数应该接受页数作为参数,并根据页数来更新表格的内容。可以使用QTableWidget的setRowCount()和setItem()函数来更新表格。 3. 在分页控件的槽函数调用更新表格的函数,以实现分页显示。 以下是一个示例代码,演示如何在QTableWidget实现分页显示: ```python from PyQt5.QtWidgets import QApplication, QTableWidget, QComboBox, QHBoxLayout, QWidget, QTableWidgetItem from PyQt5.QtCore import Qt class TableWidget(QWidget): def __init__(self): super().__init__() # 创建表格和分页控件 self.tableWidget = QTableWidget() self.pageComboBox = QComboBox() # 布局管理器 layout = QHBoxLayout() layout.addWidget(self.tableWidget) layout.addWidget(self.pageComboBox) self.setLayout(layout) # 设置表格属性 self.tableWidget.setColumnCount(3) self.tableWidget.setHorizontalHeaderLabels(['Name', 'Age', 'Gender']) self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers) self.tableWidget.setSelectionBehavior(QTableWidget.SelectRows) self.tableWidget.setSelectionMode(QTableWidget.SingleSelection) # 添加数据到表格 data = [['Tom', '20', 'Male'], ['Lucy', '18', 'Female'], ['Jack', '22', 'Male'], ['Lily', '19', 'Female'], ['Mike', '21', 'Male'], ['Mary', '23', 'Female']] self.tableWidget.setRowCount(len(data)) for i, row in enumerate(data): for j, cell in enumerate(row): item = QTableWidgetItem(cell) item.setTextAlignment(Qt.AlignCenter) self.tableWidget.setItem(i, j, item) # 添加分页控件的选项 self.pageComboBox.addItems(['1', '2', '3']) # 设置分页控件的槽函数 self.pageComboBox.currentIndexChanged.connect(self.updateTable) def updateTable(self, pageIndex): # 根据页数更新表格的显示 pageSize = 2 startIndex = pageIndex * pageSize endIndex = (pageIndex + 1) * pageSize rowCount = self.tableWidget.rowCount() for i in range(rowCount): if i >= startIndex and i < endIndex: self.tableWidget.showRow(i) else: self.tableWidget.hideRow(i) if __name__ == '__main__': app = QApplication([]) window = TableWidget() window.show() app.exec_() ``` 在上面的示例,我们创建了一个包含6行3列数据的表格,并添加了一个QComboBox作为分页控件。在分页控件的槽函数,我们定义了一个updateTable()函数来根据页数更新表格的显示。在updateTable()函数,我们通过计算起始和结束行索引来确定需要显示的行,并使用showRow()和hideRow()函数来显示或隐藏行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值