Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Language Bindings
  4. PyQt5 Events
QtWS25 Last Chance

PyQt5 Events

Scheduled Pinned Locked Moved Unsolved Language Bindings
pythonpython3pyqt5pyqtpyqt4
1 Posts 1 Posters 2.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    alekssandrap
    wrote on last edited by
    #1

    Please can someone help me, I want to trigger the handleEvents() function?

    import sys
    import types
    from types import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
     
    import PyQt5.QtCore as core
    import PyQt5.QtGui as gui
    import PyQt5.QtWidgets as widgets
    import PyQt5.uic as uic
     
     
     
     
    import mainwindow_auto
     
    class MainWindow(QMainWindow, mainwindow_auto.Ui_MainWindow):
       def __init__(self):
           super(self.__class__, self).__init__()
           self.setupUi(self)
           self.setGeometry(150, 150, 1280, 600)
           self.setWindowFlags(Qt.FramelessWindowHint)
     
           self.img = gui.QImage("test.png")
           self.painter = gui.QPainter()
           self.transformHistory = gui.QTransform()
           self.transformTotal = gui.QTransform()
           self.startPoint = core.QPoint()
           self.widget = QWidget()
     
           self.widget.grabGesture(core.Qt.PinchGesture)
           self.widget.grabGesture(core.Qt.TapGesture)
           # self.widget.event = types.MethodType(self.handleEvents, self.widget)
     
     
       def handleEvents(self, event):
           print("v")
           global transformHistory, transformTotal, startPoint
           if event.type() == core.QEvent.Gesture:
               print("dddd")
               g = event.gesture(core.Qt.PinchGesture)
               if g != None:
                   upperLeft = self.mapToGlobal(core.QPoint())
                   scale = g.totalScaleFactor()
                   centerPoint = g.centerPoint() - upperLeft
                   if g.state() == core.Qt.GestureStarted:
                       startPoint = g.centerPoint() - upperLeft
                   transformTotal = transformHistory * gui.QTransform().scale(scale, scale)
                   if g.state() == core.Qt.GestureFinished:
                       transformHistory = transformTotal
                   self.update()
               else:
                   g = event.gesture(core.Qt.TapGesture)
                   if g.state() == core.Qt.GestureFinished:
                       print("tap ", g.position())
                       transformTotal = gui.QTransform()
                       transformHistory = gui.QTransform()
                       self.update()
           elif event.type() == core.QEvent.Paint:
               painter = QPainter()
               painter.begin(self)
               painter.setTransform(transformTotal)
               painter.drawImage(0, 0, self.img)
               painter.end()
           return True
     
     
       def keyPressEvent(self, e):
           print("b")
           if e.key() == Qt.Key_Escape:
               self.close()
     
     
     
    if __name__ == '__main__':
       global form
       app = widgets.QApplication(sys.argv)
       form = MainWindow()
       print("a")
       form.show()
       sys.exit(app.exec_())
    
    
    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved