pyqt中table的使用

# test_table.py
#-*- coding:utf-8 -*-


import sys
# from PyQt4.QtCore import  Qt
# from PyQt4.QtWidgets import QWidget, QApplication, QLabel,  QTableWidget,QHBoxLayout, QTableWidgetItem, QComboBox,QFrame
# from PyQt4.QtGui import QFont,QColor,QBrush,QPixmap

from PyQt4 import QtCore
from PyQt4 import QtGui
from PyQt4 import Qt
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class TableSheet(QWidget):
    def __init__(self, parent=None):
        super(QWidget, self).__init__(parent)
        self.initUi()

    def initUi(self):
        horizontalHeader = [u"工号",u"姓名",u"性别",u"年龄",u"职称"]
        self.setWindowTitle('TableWidget Usage')
        self.table = QTableWidget()
        self.table.setColumnCount(5)
        self.table.setRowCount(2)
        self.table.setHorizontalHeaderLabels(horizontalHeader)
        self.table.setEditTriggers(QTableWidget.NoEditTriggers)
        self.table.setSelectionBehavior(QTableWidget.SelectColumns)
        self.table.setSelectionMode(QTableWidget.SingleSelection  )

        for index in range(self.table.columnCount()):
            headItem = self.table.horizontalHeaderItem(index)
            headItem.setFont(QFont("song", 12, QFont.Bold))
            headItem.setForeground(QBrush(Qt.gray))
            headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)

        self.table.setColumnWidth(4,200)
        self.table.setRowHeight(0,40)
        #self.table.setFrameShape(QFrame.HLine)#设定样式
        #self.table.setShowGrid(False) #取消网格线
        #self.table.verticalHeader().setVisible(False) #隐藏垂直表头

        self.table.setItem(0,0, QTableWidgetItem("001"))
        self.table.setItem(0,1,QTableWidgetItem("Tom"))
        genderComb = QComboBox()
        genderComb.addItem(u"男性")
        genderComb.addItem(u"女性")
        genderComb.setCurrentIndex(0)
        self.table.setCellWidget(0,2,genderComb)
        self.table.setItem(0,3,QTableWidgetItem("30"))
        self.table.setItem(0,4,QTableWidgetItem(u"产品经理"))

        self.table.setItem(1,0, QTableWidgetItem("005"))
        self.table.setItem(1,1,QTableWidgetItem("Kitty"))
        genderComb = QComboBox()
        genderComb.addItem(u"男性")
        genderComb.addItem(u"女性")
        genderComb.setCurrentIndex(1)
        self.table.setCellWidget(1,2,genderComb)
        self.table.setItem(1,3,QTableWidgetItem("24"))
        self.table.setItem(1,4,QTableWidgetItem(u"程序猿安慰师"))

        row_count = self.table.rowCount()
        self.table.insertRow(row_count)
        mainLayout = QHBoxLayout()
        mainLayout.addWidget(self.table)
        self.setLayout(mainLayout)

if __name__ == '__main__':

    app = QApplication(sys.argv)
    table = TableSheet()
    table.show()
    sys.exit(app.exec_())
#!/usr/bin/env python
#coding=utf-8
from PyQt4.QtGui  import *
from PyQt4.QtCore import *  
class MyDialog(QDialog):
    def __init__(self, parent=None):
        super(MyDialog, self).__init__(parent)
        self.MyTable = QTableWidget(4,3)
        self.MyTable.setHorizontalHeaderLabels([u'姓名', u'身高',u'体重'])
        
        newItem = QTableWidgetItem("松鼠")
        self.MyTable.setItem(0, 0, newItem)
        
        newItem = QTableWidgetItem("10cm")
        self.MyTable.setItem(0, 1, newItem)
        
        newItem = QTableWidgetItem("60g")
        self.MyTable.setItem(0, 2, newItem) 
      
        layout = QHBoxLayout()
        layout.addWidget(self.MyTable)
        self.setLayout(layout)    
        
        
if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    myWindow = MyDialog()
    myWindow.show()
    sys.exit(app.exec_())       
posted @   影随风动91  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示