你好,游客 登录 注册 搜索
背景:
阅读新闻

PyQt4 精彩实例分析

实例7 表格的使用

[日期:2012-06-24] 来源:Linux社区  作者:chumpklutz [字体: ]

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

QTableWidget类提供了一个灵活的和可编辑的表格控件,包含很多API,可以处理标题,行列,单元格和选中区域,QTableWidget可以嵌入编辑框或显示控件,并可通过拖动控制柄调节各单元格的大小。表格的每一项可以定义成不同的属性,可以显示文本,也可以插入控件,这样给表格的使用带来了很好的扩展性。

本实例的实现代码如下:

  1. # -*- coding: utf-8 -*-   
  2. from PyQt4.QtGui import *  
  3. from PyQt4.QtCore 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.         dte1=QDateTimeEdit()  
  24.         dte1.setDateTime(QDateTime.currentDateTime())  
  25.         dte1.setDisplayFormat("yyyy/mm/dd")  
  26.         dte1.setCalendarPopup(True)  
  27.         self.setCellWidget(1,2,dte1)  
  28.         cbw=QComboBox()  
  29.         cbw.addItem("Worker")  
  30.         cbw.addItem("Famer")  
  31.         cbw.addItem("Doctor")  
  32.         cbw.addItem("Lawyer")  
  33.         cbw.addItem("Soldier")  
  34.         self.setCellWidget(1,3,cbw)  
  35.         sb1=QSpinBox()  
  36.         sb1.setRange(1000,10000)  
  37.         self.setCellWidget(1,4,sb1)  
  38.     
  39. app=QApplication(sys.argv)  
  40. myqq=MyTable()  
  41. myqq.setWindowTitle("My Table")  
  42. myqq.show()  
  43. app.exec_()  

第18-20行在表格中插入一个QLabel控件,并设置QLabel的图形属性。

第21-22行设置表格单元的属性为文本显示。

第23-27行在表格中插入一个QDateTimeEdit控件,该控件可以编辑日期时间,setCalendarPopup()方法设置是否弹出日历编辑器。

第28-34行在表格中插入一个QComboBox控件,调用QTableWidget的setCellWidget()函数可在某个指定的表格单元格中插入一个控件,函数的前两个参数用于指定单元格的行,列号。

第35-37行在表格中插入一个QSpinBox控件。

linux
【内容导航】
第1页:实例1 Hello Kitty! 第2页:实例2 标准对话框的使用
第3页:实例3 各类位置信息 第4页:实例4 使用标准输入框
第5页:实例5 各种消息框的使用 第6页:实例6 实现QQ抽屉效果
第7页:实例7 表格的使用 第8页:实例8 使用进度条
第9页:实例9 利用Qt Designer设计一个对话框 第10页:实例10 在程序中使用Ui
第11页:实例11 动态加载Ui 第12页:实例12 基本布局管理
第13页:实例13 多文档 第14页:实例14 分割窗口
第15页:实例15 停靠窗口 第16页:实例16 堆栈窗口
第17页:实例17 综合布局实例 第18页:实例18 可扩展对话框
第19页:实例19 利用QPalette改变控件颜色 第20页:实例20 窗体的淡入淡出效果
第21页:实例21 不规则窗体 第22页:实例22 电子钟
第23页:实例23 程序启动画面 第24页:实例24 基本QMainWindow主窗口程序
第25页:实例25 打印文本 第26页:实例26 打印图像
相关资讯       PyQt4 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2013/4/8 12:47:12
11