Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Unsolved PyQt5 Events

    Language Bindings
    python python3 pyqt5 pyqt pyqt4
    1
    1
    2154
    Loading More Posts
    • 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
      alekssandrap last edited by

      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 Reply Quote 0
      • First post
        Last post