En particulier, j'hérite de QCalendarWidget et je souhaite remplacer la méthode mousePressEvent pour filtrer les dates autorisées à être sélectionnées (ensemble disjoint, pas une simple plage). Mais lorsque je substitue la méthode, elle n'attrape aucun événement qui va aux widgets enfants dans le calendrier. Comment puis-je faire ceci?Comment puis-je capturer tous les événements de souris dans un widget descendant d'un widget Qt dans PyQt?
1
A
Répondre
1
Je suis surpris que mousePressEvent ne fonctionne pas pour un QCalendarWidget. Cela fonctionne pour la plupart des autres widgets. Après avoir regardé les documents pour QCalendarWidget, je remarque qu'il y a un signal cliqué. Si vous vous connectez, cela fonctionne.
import sys
from PyQt4 import QtGui, QtCore
class MyCalendar(QtGui.QCalendarWidget):
def __init__(self):
QtGui.QCalendarWidget.__init__(self)
self.connect(self, QtCore.SIGNAL("clicked(QDate)"), self.on_click)
self.prev_date = self.selectedDate()
def on_click(self, date):
if self.should_ignore(date):
self.setSelectedDate(self.prev_date)
return
self.prev_date = date
def should_ignore(self, date):
""" Do whatever here """
return date.day() > 15
app = QtGui.QApplication(sys.argv)
cal = MyCalendar()
cal.show()
app.exec_()
Je n'avais jamais extrait QCalendarWidget auparavant. Joli petit widget.
Questions connexes
- 1. Comment implémenter MousePressEvent pour un widget Qt-Designer dans PyQt
- 2. Comment supprimer un widget d'un widget empilé dans Qt
- 3. Widget personnalisé PyQt en C++
- 4. Comment créer un widget avec un texte cliquable dans QT/PyQt?
- 5. Comment Widget à l'intérieur d'un autre widget dans QT?
- 6. KEYBOARD- et le widget de souris événements transparent
- 7. PyQt widget ne montre
- 8. Qt: Widget personnalisé dans QScrollArea
- 9. Comment puis-je attraper les événements de glisser de la souris dans un widget Dashcode?
- 10. qt - widget - positionnement
- 11. Qt Action Dropdown Widget
- 12. QT séparateur widget?
- 13. Qt Widget Overlays
- 14. Comment puis-je capturer tous les événements de la souris dans un JFrame/Swing?
- 15. Personnaliser un Widget Tree Qt
- 16. Comment placer un widget dans un widget Canvas dans Tkinter?
- 17. Problème d'alignement de widget QT
- 18. Interaction de base Widget avec PyQt
- 19. Comment obtenez-vous les enfants d'un widget dans Qt?
- 20. Mappage de widget pour Qt
- 21. PyQT: obtenir des enfants récursifs d'un widget
- 22. Qt widget désobeys drop dans Windows
- 23. qt drop événement get widget
- 24. Qt widget basé sur QWidget
- 25. Comment utiliser les fonctions OpenGL sur un QT OpenGL Widget?
- 26. Qt Creator/Qt démo du widget intégré
- 27. Widget QT pour Windows XP
- 28. Comment accéder à pointeur widget parent QT
- 29. Qt, widget généré avec l'héritage?
- 30. Ajouter un widget dynamiquement en qt