zoukankan      html  css  js  c++  java
  • PyQt5 表格

    一个使用表格的实例

    表格来自QTableWidget类,包含很多可设置的选项,详情查看qt官方文档
    我的例子实现了,设置表头,调整单元格大小,插入控件(图片,日期,下拉框),使用还是很简单的,就是个人英语太渣,读文档有些吃力。
    大部分参考这个网站

    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    import sys
    
    class MyTable(QTableWidget):
        def __init__(self,parent=None):
            super(MyTable, self).__init__(parent)
            self.setWindowTitle("我是一个表格")
            self.setWindowIcon(QIcon("male.png"))
            self.resize(920, 240)
            self.setColumnCount(5)
            self.setRowCount(2)
            #设置表格有两行五列。
            self.setColumnWidth(0, 200)
            self.setColumnWidth(4, 200)
            self.setRowHeight(0, 100)
            #设置第一行高度为100px,第一列宽度为200px。
    
            self.table()
    
        def table(self):
            self.setItem(0,0,QTableWidgetItem("           你的名字"))
            self.setItem(0,1,QTableWidgetItem("性别"))
            self.setItem(0,2,QTableWidgetItem("出生日期"))
            self.setItem(0,3, QTableWidgetItem("职业"))
            self.setItem(0,4, QTableWidgetItem("收入"))
            #添加表格的文字内容.
            self.setHorizontalHeaderLabels(["第一行", "第二行", "第三行", "第四行", "第五行"])
            self.setVerticalHeaderLabels(["第一列", "第二列"])
            #设置表头
            lbp = QLabel()
            lbp.setPixmap(QPixmap("Male.png"))
            self.setCellWidget(1,1,lbp)
            #在表中添加一张图片
            twi = QTableWidgetItem("      新海诚")
            twi.setFont(QFont("Times", 10, ))
            self.setItem(1,0,twi)
            #添加一个自己设置了大小和类型的文字。
            dte = QDateTimeEdit()
            dte.setDateTime(QDateTime.currentDateTime())
            dte.setDisplayFormat("yyyy/MM/dd")
            dte.setCalendarPopup(True)
            self.setCellWidget(1,2,dte)
            #添加一个弹出的日期选择,设置默认值为当前日期,显示格式为年月日。
            cbw = QComboBox()
            cbw.addItem("医生")
            cbw.addItem("老师")
            cbw.addItem("律师")
            self.setCellWidget(1,3,cbw)
            #添加了一个下拉选择框
            sb = QSpinBox()
            sb.setRange(1000,10000)
            sb.setValue(5000)#设置最开始显示的数字
            sb.setDisplayIntegerBase(10)#这个是显示数字的进制,默认是十进制。
            sb.setSuffix("元")#设置后辍
            sb.setPrefix("RMB: ")#设置前辍
            sb.setSingleStep(100)
            self.setCellWidget(1,4,sb)
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        myTable = MyTable()
        myTable.show()
        app.exit(app.exec_())
    

    插入文字是用setItem,插入控件是用setCellItem,PyQt设计上很面对对象,新手不太适应,但在不断啃官方文档和读写代码中,慢慢就熟悉了,感觉提升很大。要想用好表格除了学习表格本事还要十分了解控件,不过我觉得表格最重要的功能是显示信息和选择内容,这就需要了解PyQt核心的槽和信号,事件的概念了,这个下次再说吧。

  • 相关阅读:
    最短路径(Dijkstra和堆优化)
    最小生成树(prim和Kruskal)
    ac自动机(加强版)
    【敏捷】火星人敏捷开发手册- 教你怎么开会 然并卵知晓
    【敏捷】扑克牌估算
    向黄太吉学习线上营销模式
    黄太吉品牌创始人赫畅:创造下一个互联网奇迹
    吃煎饼思考人生:从黄太吉看商家的社会化营销
    月薪3000与月薪30000的文案区别
    聚美优品广告词和经典分析
  • 原文地址:https://www.cnblogs.com/jikeboy/p/6555749.html
Copyright © 2011-2022 走看看