pyqt小例子 treewidget
# -*- coding: cp936 -*-
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class InlineEditor(QWidget):
_MUTE = 'MUTE'
def __init__(self, parent):
QWidget.__init__(self, parent)
self.setAutoFillBackground(True)
lo = QHBoxLayout()
lo.setMargin(0)
lo.setSpacing(4)
self._cbFoo = QComboBox()
for x in ["ABC", "DEF", "GHI", "JKL"]:
self._cbFoo.addItem(x)
self._leBar = QLineEdit('', self)
self._leBar.setValidator(QIntValidator(0, 999999, self))
lo.addWidget(self._cbFoo, 3)
lo.addSpacing(5)
lo.addWidget(QLabel('Bar:'))
lo.addWidget(self._leBar, 3)
lo.addStretch(5)
self.setLayout(lo)
class Form(QDialog):
def __init__(self,parent=None):
QDialog.__init__(self, parent)
grid = QGridLayout()
tree = QTreeWidget()
tree.setColumnCount(2)
for n in range(3):
i = QTreeWidgetItem(tree) # 创建QTreeWidget的子项目i
i.setText(0,"first " + str(n)) # 设置第0列的文本
i.setText(1,"second")
for m in range(3):
j = QTreeWidgetItem(i) # 为QTreeWidget子项目i创建子项目
j.setText(0,"child first "+str(m))
b1 = QCheckBox("push me 0",tree) # 注意此处第二个参数,如果没有这个参数创建不成功
tree.setItemWidget(tree.topLevelItem(0).child(1), 1, b1) #在第一个项目的第一个子项目的第2列中放置控件。
item=InlineEditor(tree) # 处理多个控件的组合
tree.setItemWidget(tree.topLevelItem(0).child(1), 1, item)
grid.addWidget(tree)
self.setLayout(grid)
app = QApplication([])
form=Form()
form.show()
app.exec_()
最新文章
- 退出recoveyr模式的iOS设备
- My Demo Reels
- linux-10 基本命令之查看内存使用情况- free,history,who,last
- DirectX基础 常用函数语句
- sql 分组查询及格不及格人数
- SQL调优之排名优化
- sql 索引 填充因子(转)
- 操作笔记:linux下安装mysql
- iOS5编程--ARC在工程上的相关设置
- Xcode的管理工具
- 201521123050 《Java程序设计》第12周学习总结
- B树、B-树、B+树、B*树【转】,mysql索引
- 微信公众平台开发者中心服务器配置Token验证失败问题
- Microsoft Dynamics CRM 2011 JS操作集锦
- Python视频人脸检测识别
- 没讲明白的水题orz
- Bash: about .bashrc, .bash_profile, .profile, /etc/profile, etc/bash.bashrc and others
- Python3基础 list pop(含参) 取出列表中的指定索引的元素
- hotel管理
- 关于ros里ppp拨号隧道比如pptp,l2tp,sstp等等,造成多条路由,ospf的时候需要汇总为一条宣告的解决方案