Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31411
  • 博文数量: 9
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 107
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-04 19:47
文章分类

全部博文(9)

文章存档

2011年(1)

2010年(4)

2008年(4)

我的朋友

分类: Python/Ruby

2010-04-03 21:16:02

Qt列表控件示例


#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class InputDialog(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.vbox=QtGui.QVBoxLayout(self)
        self.lst=QtGui.QListWidget(self)
        self.lst.setSortingEnabled(True)
        for x in ('digwtx', 'cctv', 'google', 'slackware', 'gentoo', u'中国'):
            self.lst.addItem(x)
        self.lst.setCurrentRow(2)
        
        self.btn_1=QtGui.QPushButton('Show', self)
        self.btn_2=QtGui.QPushButton('Remove', self)
        self.btn_1.setFixedWidth(100)
        self.btn_2.setFixedHeight(20)
        self.vbox.addWidget(self.lst)
        self.vbox.addWidget(self.btn_1)
        self.vbox.addWidget(self.btn_2)
        
        self.connect(self.lst, QtCore.SIGNAL('itemDoubleClicked (QListWidgetItem *)'), self.textDialog)
        self.connect(self.btn_1, QtCore.SIGNAL('clicked()'), self.Show)
        self.connect(self.btn_2, QtCore.SIGNAL('clicked()'), self.Remove)
    def textDialog(self):
        self.lst.takeItem(self.lst.currentRow())
    def Show(self):
        count=self.lst.count()
        for i in range(count):
            print unicode(self.lst.item(i).text())
    def Remove(self):
        self.lst.takeItem(self.lst.currentRow())
def main():
    app = QtGui.QApplication(sys.argv)
    icon = InputDialog()
    icon.show()
    app.exec_()
    
if __name__=='__main__':
    main()


阅读(1021) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~