Найти - Пользователи
Полная версия: Кликабельные айтемы в Qt4 ListWidget
Начало » GUI » Кликабельные айтемы в Qt4 ListWidget
1
Enchantner
Собственно, хотелось бы сообразить, как сделать сабж? Причем чтобы программа реагировала не на простой клик по айтему, а на двойной. Знаю, что вопрос нубский, но документацию честно копал - не нашел. Может быть, плохо копал.

Очевидное навскидку
self.centralwidget.connect(self.listWidget.item(i), QtCore.SIGNAL("clicked()"), self.test)
понятное дело, не работает. isSelected() не катит, ибо нужен двойной клик.
pasaranax
Ну если такого сигнала у виджета нет, то надо его сделать самому.

п.с. реализовать оказалось проще, чем я думал
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_())
Enchantner
pasaranax
спасибо, попробую :)

Сразу еще один нубский вопрос - из какого модуля pyqtSignal() ? У меня в QtCore его нету. Версия PyQt4 вроде последняя.
poltergeist
1) по теме: http://doc.trolltech.com/4.5/qlistwidget.html#itemDoubleClicked

2) from foo import * - зло:(
pasaranax
poltergeist
Сразу еще один нубский вопрос - из какого модуля pyqtSignal() ? У меня в QtCore его нету. Версия PyQt4 вроде последняя.
из QtCore, появилось в версии 4.5

poltergeist
2) from foo import * - злоsad
в случае префиксного стиля именования элементов библиотеки (QWidget) , вполне себе добро :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB