[PyQt] using itemDoubleClicked with pyqt
Christopher M. Nahler
christopher.nahler at papermodels.at
Wed Jun 23 09:29:00 BST 2010
On 23.06.2010 09:46, Phil Thompson wrote:
> On Wed, 23 Jun 2010 09:40:09 +0200, "Christopher M. Nahler"
> <christopher.nahler at papermodels.at> wrote:
>
>> I have problems using a signal. In the code below I create a QListWidget
>> where I would like to act upon doubleClicking an item.
>>
>> In the documentation I have found the signal "itemDoubleClicked".
>> (http://doc.qt.nokia.com/4.6/qlistwidget.html#itemDoubleClicked)
>> But somehow I am not using it right. What am I doing wrong?
>>
>> thanks in advance
>> Chris
>>
>>
>>
>> import sys
>> from PyQt4.QtCore import *
>> from PyQt4.QtGui import *
>>
>> itemList = ["One",
>> "Two",
>> "Three",
>> "Four",
>> "Five"]
>>
>> class ListDlg(QDialog):
>>
>> def __init__(self, name, parent=None):
>> super(ListDlg, self).__init__(parent)
>>
>> self.myList = QListWidget()
>> self.myList.addItems(itemList)
>> self.myList.setCurrentRow(0)
>>
>> layout = QHBoxLayout()
>> layout.addWidget(self.myList)
>> self.setLayout(layout)
>> self.connect(self.myList, SIGNAL("itemDoubleClicked(*item)"),
>> self.processItem)
>>
>> def processItem(self, item):
>> print(item.text())
>>
>> if __name__ == "__main__":
>> app = QApplication(sys.argv)
>> form = ListDlg("Listdialog")
>> form.exec_()
>>
> The signal signature is "itemDoubleClicked(QListWidgetItem *)"
>
> Phil
>
The way I understand this is that the signal passes a pointer to an
item, right? So what is the correct way to setup the connection? I have
tried with SIGNAL("itemDoubleClicked(item*)" and
SIGNAL("itemDoubleClicked(item *)" but that also did not work.
More information about the PyQt
mailing list