# 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_())