Форум сайта python.su
Собственно, хотелось бы сообразить, как сделать сабж? Причем чтобы программа реагировала не на простой клик по айтему, а на двойной. Знаю, что вопрос нубский, но документацию честно копал - не нашел. Может быть, плохо копал.
Очевидное навскидку
self.centralwidget.connect(self.listWidget.item(i), QtCore.SIGNAL("clicked()"), self.test)
Отредактировано (Сен. 28, 2009 19:10:55)
Офлайн
Ну если такого сигнала у виджета нет, то надо его сделать самому.
п.с. реализовать оказалось проще, чем я думал
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class MyWidget(QWidget):
doubleClicked = pyqtSignal()
def mouseDoubleClickEvent(self, event):
self.doubleClicked.emit()
def iAmSlot():
print "hello"
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyWidget()
window.show()
window.doubleClicked.connect(iAmSlot)
sys.exit(app.exec_())
Отредактировано (Сен. 28, 2009 22:28:30)
Офлайн
pasaranax
спасибо, попробую :)
Сразу еще один нубский вопрос - из какого модуля pyqtSignal() ? У меня в QtCore его нету. Версия PyQt4 вроде последняя.
Отредактировано (Сен. 28, 2009 23:19:10)
Офлайн
1) по теме: http://doc.trolltech.com/4.5/qlistwidget.html#itemDoubleClicked
2) from foo import * - зло:(
Офлайн
poltergeistиз QtCore, появилось в версии 4.5
Сразу еще один нубский вопрос - из какого модуля pyqtSignal() ? У меня в QtCore его нету. Версия PyQt4 вроде последняя.
poltergeistв случае префиксного стиля именования элементов библиотеки (QWidget) , вполне себе добро :)
2) from foo import * - злоsad
Отредактировано (Сен. 28, 2009 23:53:35)
Офлайн