表格的使用

制作统计软件时经常会使用表格将资料列出,或是通过表格进行资料的设置,在 Qt 中可以使用 QTableWidget 实现一个表格。 本例演示如何使用表格,并在表格中嵌入控件。

表格的使用

 1 #coding: utf-8
 2 from PyQt4.QtCore import *
 3 from PyQt4.QtGui import *
 4 import sys
 5 
 6 QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))
 7 
 8 class MyTable(QTableWidget):
 9     def __init__(self, parent=None):
10         super(MyTable, self).__init__(parent)
11         self.setColumnCount(5)
12         self.setRowCount(2)
13         self.setItem(0, 0, QTableWidgetItem(self.tr("性别")))
14         self.setItem(0, 1, QTableWidgetItem(self.tr("姓名")))
15         self.setItem(0, 2, QTableWidgetItem(self.tr("出生日期")))
16         self.setItem(0, 3, QTableWidgetItem(self.tr("职业")))
17         self.setItem(0, 4, QTableWidgetItem(self.tr("收入")))
18         lbp1 = QLabel()
19         lbp1.setPixmap(QPixmap("image/4.gif"))
20         self.setCellWidget(1, 0, lbp1)
21         twi1 = QTableWidgetItem("Tom")
22         self.setItem(1, 1, twi1)
23         #表格中插入一个 QDateTimeEdit 控件,该控件可以编辑日期时间,setCalendarPopup()方法设置是否弹出日历编辑器
24         dte1 = QDateEdit()
25         dte1.setDateTime(QDateTime.currentDateTime())
26         dte1.setDisplayFormat("yyyy/mm/dd")
27         dte1.setCalendarPopup(True)
28         self.setCellWidget(1, 2, dte1)
29         cbw = QComboBox()
30         cbw.addItem("Worker")
31         cbw.addItem("Famer")
32         cbw.addItem("Doctor")
33         cbw.addItem("Layer")
34         cbw.addItem("Soldier")
35         self.setCellWidget(1, 3, cbw)
36         sb1 = QSpinBox()
37         sb1.setRange(1000, 10000)
38         self.setCellWidget(1, 4, sb1)
39 
40 app = QApplication(sys.argv)
41 myqq = MyTable()
42 myqq.setWindowTitle("My Table")
43 myqq.show()
44 app.exec_()