表格基础操作

import random
import sys
from PyQt5.Qt import *
from PyQt5.QtCore import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('例子')
        self.setGeometry(50, 200, 400, 300)
        self.setup_ui()
        self.table = QTableWidget()
        self.mainLayout = QVBoxLayout()
        self.mainLayout.addWidget(self.table)
        self.setLayout(self.mainLayout)
        self.table.setRowCount(120)
        self.table.setColumnCount(3)
        self.table.setHorizontalHeaderLabels(['序号', '条目内容', '随机性'])
        # 最后一列自动拉伸
        self.table.horizontalHeader().setStretchLastSection(True)
        # self.table_view.verticalHeader().hide() #隐藏列标题栏
        self.table.setSelectionBehavior(QTableWidget.SelectRows)#设置选中一行
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch)  # 表格自由拉伸
        # self.table.setItem(0, 0, QTableWidgetItem("姓名"))
        self.data = [[str(i), 'Item %d' % i, str(i * random.randint(1, 1000))] for i in range(1, 1000)]
        self.table.setSortingEnabled(True)
        # # 点击表头信号连接到sort方法
        # self.table.horizontalHeader().sectionClicked.connect(self.sort)

        for rowIndex, row in enumerate(self.data):
            for columnIndex, Item in enumerate(row):
                self.table.setItem(rowIndex, columnIndex, QTableWidgetItem(Item))

        # self.table.item(0,0).setText('999')
        # self.table.item(0, 0).setBackground(Qt.GlobalColor.red)#设置背景颜色
        # self.table.item(0, 0).setForeground(Qt.GlobalColor.blue)#设置字体颜色

    # 设置子控件
    def setup_ui(self):
        # self.table.cellClicked.connect(lambda row, col: print(f'{row},{col}'))
        pass

    def sort(self, n):
        self.table.sortItems(n, order=1)


if __name__ == "__main__":
    # 创建一个应用程序对象
    app = QApplication(sys.argv)
    # 创建控件
    window = Window()
    # 显示窗口,展示控件
    window.show()
    # 应用程序的执行,进入到消息循环
    sys.exit(app.exec_())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值