Day 2
I copied all of my all code that I had made previously
what was originally there
import PySide6
import PySide6.QtCore as core
import PySide6.QtGui as gui
import PySide6.QtWidgets as widgets
from PySide6.QtWidgets import QGraphicsScene,QGraphicsView,QGraphicsRectItem,QGraphicsSceneMouseEvent,QGraphicsItem,QGraphicsEllipseItem
from PySide6.QtGui import QDragMoveEvent,QCursor
from PySide6.QtCore import QEvent, Qt, QPointF,QPoint
import sys
class Store(QGraphicsRectItem,QGraphicsEllipseItem,QGraphicsSceneMouseEvent):
def __init__(self,parent=None):
super(Store,self).__init__(parent)
self.setAcceptHoverEvents(True)
self.setRect(650,0,75,75)
def mousePressEvent(self, event: PySide6.QtWidgets.QGraphicsSceneMouseEvent):
self.tower = Tower(650, 0)
scene.addItem(self.tower)
def mouseMoveEvent(self, event):
og_cursor_pos = event.lastScenePos()
new_cursor_pos = event.scenePos()
og_pos = self.scenePos()
new_x_pos = new_cursor_pos.x() - og_cursor_pos.x() + og_pos.x()
new_y_pos = new_cursor_pos.y() - og_cursor_pos.y() + og_pos.y()
new_pos = QPoint(new_x_pos,new_y_pos)
self.tower.setScreenPos(new_pos)
class Tower(QGraphicsRectItem,QGraphicsSceneMouseEvent):
def __init__(self,xpos,ypos,parent=None):
super(Tower,self).__init__(parent)
self.setRect(650,0,75, 75)
def mousePressEvent(self, event: PySide6.QtWidgets.QGraphicsSceneMouseEvent):
self.setPos(event.pos())
print("hello 1")
def mouseReleaseEvent(self, event):
self.setPos(event.pos())
print("hello 2")
def dragMoveEvent(self, event: PySide6.QtWidgets.QGraphicsSceneDragDropEvent) :
self.setPos(event.pos())
print("hello 2")
wid = widgets.QApplication([])
scene = QGraphicsScene()
scene.setSceneRect(0,0,800,600)
rect = QGraphicsRectItem(650,0,150,600)
scene.addItem(rect)
item_box = Store()
scene.addItem(item_box)
view = QGraphicsView()
view.setScene(scene)
view.show()
wid.exec()
I fixed my original code it now drags properly this code above does not.
Comments
Post a Comment