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

pyqt小例子 treewidget的更多相关文章

  1. pyqt小例子 音乐盒

    源代码1: # -*- coding: utf-8 -*- import sys,time,os import ctypes from PyQt4 import QtCore, QtGui,Qt fr ...

  2. pyqt小例子

    from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import QApplication, QMainWindow imp ...

  3. springmvc入门的第一个小例子

    今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...

  4. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  5. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  6. bootstrap 模态 modal 小例子

    bootstrap 模态 modal  小例子 <html> <head> <meta charset="utf-8" /> <title ...

  7. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  8. JavaScript小例子:复选框全选

    JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...

  9. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

随机推荐

  1. HDU 4119Isabella's Message2011成都现场赛I题(字符串模拟)

    Isabella's Message Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. IntelliJ IDEA 的Project structure说明

    IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project str ...

  3. C++指针数组和数组指针

    指针相关问题 using namespace std; int main(){ //a) 一个整型数( An integer) int a; //b) 一个指向整型数的指针( A pointer to ...

  4. python模块基础之getpass模块

    getpass模块提供了可移植的密码输入,一共包括下面两个函数: 1. getpass.getpass() 2. getpass.getuser() getpass.getpass([prompt[, ...

  5. [Linux命令]tar命令

    tar 命令的解释: tar(bsdtar): manipulate archive files First option must be a mode specifier: -c Create -r ...

  6. 自定义函数标签(JSTL)

    创建自定义函数标签步骤: 1.创建类,并且方法只能是静态 public static void operation(calculator cal) 2.书写tld <taglib xmlns=& ...

  7. ionic开发android app步骤

    一.android开发 1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装 ...

  8. Kali Linux 常见问题解答

    更新Kali apt源 vim /etc/apt/sources.list #开始 deb http://http.kali.org/kali kali-rolling main non-free c ...

  9. css3中的提供的元素变化属性

    通过 CSS3 提供的2d元素转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸. css3中为我们 提供了: translate() rotate() scale() skew() matrix( ...

  10. Linux_Shell符号及各种解释对照表

    Shell符号及各种解释对照表: Shell符号 使用方法及说明 # 注释符号(Hashmark[Comments]) 1.在shell文件的行首,作为shebang标记,#!/bin/bash; 2 ...