• 7805阅读
  • 3回复

QlistWidget中如何创建listWidgetItem的点击信号??? [复制链接]

上一主题 下一主题
离线leiyu0815
 
只看楼主 倒序阅读 楼主  发表于: 2010-11-25
一个listWidget中有多个items,现在需要用鼠标点击某个item后,能够传出信号,请问用什么方法?

我试过:

self.connect(self.listWidget_2, QtCore.SIGNAL("itemClicked( )"),self.ItemSelected)

但是不行!!!

望赐教!谢谢
离线leiyu0815
只看该作者 1楼 发表于: 2010-11-26
还在等待指点,希望有人能给点指点。。。
离线dbzhang800

只看该作者 2楼 发表于: 2010-11-26
引用第1楼leiyu0815于2010-11-26 11:55发表的  :
还在等待指点,希望有人能给点指点。。。

最好能贴出你的有问题的代码,

如果代码片段不能说明问题,就贴完整代码
如果代码太长(如何算长,就是说如果你认为别人如果贴这么长,你肯定不会看),那么你需要让它变短后再贴
不管怎样,写一个尽可能短的代码来测试不确定的代码总是必要的

给你一个完整且不算太短的例子:

#!/usr/bin/env python
#--*-- coding:utf-8 --*--
'''
Copyright (C) 2010 dbzhang800
All rights reserved.
'''
import sys
try:
    from PySide import QtCore, QtGui
except:
    from PyQt4 import QtCore, QtGui

class Widget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Widget,  self).__init__(parent)
        self.listWidget = QtGui.QListWidget(self)
        for i in range(10):
            item = QtGui.QListWidgetItem("item %d" % i, self.listWidget)
        vbox = QtGui.QVBoxLayout(self)
        vbox.addWidget(self.listWidget)
        self.setLayout(vbox)
        self.listWidget.itemClicked.connect(self.onItemClicked)

    def onItemClicked(self, item):
        print "item clicked:", item.text()
        
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())
离线leiyu0815
只看该作者 3楼 发表于: 2010-12-07
回 2楼(dbzhang800) 的帖子
特别感谢您!我用的信号槽的链接与你的表达不太一样,这可能就是我的错误所在!谢谢,在你的帮助下,问题解决了。
快速回复
限100 字节
 
上一个 下一个