Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PyQt4 import QtGui , QtCore
- import sys
- import math
- class Palette(QtGui.QGraphicsView):
- def __init__(self):
- super(Palette , self).__init__()
- self.UI()
- def UI(self):
- self.sender = 0
- self.scene = QtGui.QGraphicsScene()
- self.scene.setSceneRect(0 , 0 , 300 , 300)
- self.setScene(self.scene)
- def mousePressEvent(self , e):
- self.endx = e.x()
- self.endy = e.y()
- if self.sender == 1:
- self.LineChange(self.endx , self.endy)
- def EditWedge(self):
- #self.scene.removeItem(self.poly)
- self.line1 = QtGui.QGraphicsLineItem(100 , 100 , 100 , 200)
- self.line1.setFlag(QtGui.QGraphicsItem.ItemIsMovable , True)
- self.line2 = QtGui.QGraphicsLineItem(100 , 200 , 200 , 200)
- self.line3 = QtGui.QGraphicsLineItem(200 , 200 , 100 , 100)
- self.scene.addItem(self.line1)
- self.scene.addItem(self.line2)
- self.scene.addItem(self.line3)
- circle1 = QtGui.QGraphicsEllipseItem(95, 95 , 10 , 10)
- self.scene.addItem(circle1)
- def LineChange(self , x , y):
- self.endx = x
- self.endy = y
- self.scene.clear()
- self.line1 = QtGui.QGraphicsLineItem(100 , 200 , 100 , self.endy)
- self.line2 = QtGui.QGraphicsLineItem(100 , self.endy , 200 , 200)
- self.line3 = QtGui.QGraphicsLineItem(100 , 200 , 200 , 200)
- circle1 = QtGui.QGraphicsEllipseItem(95, self.endy, 10 , 10)
- self.scene.addItem(self.line1)
- self.scene.addItem(self.line2)
- self.scene.addItem(self.line3)
- self.scene.addItem(circle1)
- class Wedge(QtGui.QWidget):
- def __init__(self):
- super(Wedge , self).__init__()
- self.setGeometry(0 , 0 , 500 , 500)
- self.UI()
- def keyPressEvent(self , e):
- if e.key() == QtCore.Qt.Key_Q:
- sys.exit()
- def UI(self):
- self.sender = 0
- self.layout = QtGui.QGridLayout(self)
- self.button = QtGui.QPushButton()
- icon = QtGui.QIcon('/home/manoj/QtTrash/wedge.jpg')
- self.button.setIcon(icon)
- self.button.clicked.connect(self.wedge)
- self.button1 = QtGui.QPushButton('Block')
- #self.button1.clicked.connect(self.block)
- self.button2 = QtGui.QPushButton('Force')
- self.layout.addWidget(self.button , 0 , 0)
- self.layout.addWidget(self.button1 , 1 , 0)
- self.layout.addWidget(self.button2 , 2 , 0)
- self.edit = QtGui.QPushButton('Edit')
- self.edit.setCheckable(True)
- self.edit.clicked.connect(self.EditWedge)
- self.edit2 = QtGui.QPushButton('EditB')
- self.edit2.setCheckable(True)
- #self.edit2.clicked.connect(self.EditBox)
- self.edit.hide()
- self.palette = Palette()
- self.layout.addWidget(self.palette , 0 , 1 , 3 , 1)
- self.layout.addWidget(self.edit , 0 , 2)
- self.layout.addWidget(self.edit2 , 1 , 2)
- self.edit2.hide()
- self.show()
- def wedge(self):
- self.edit.show()
- tri = QtGui.QPolygonF([QtCore.QPointF(100 , 100) , QtCore.QPointF(100 , 200) , QtCore.QPointF(200 , 200)])
- self.poly = QtGui.QGraphicsPolygonItem(tri)
- self.palette.scene.addItem(self.poly)
- self.poly.setFlag(QtGui.QGraphicsItem.ItemIsMovable)
- def EditWedge(self , sender):
- if sender:
- self.palette.EditWedge()
- self.palette.sender = 1
- else:
- self.palette.sender = 2
- '''
- def block(self):
- self.edit.hide()
- self.edit2.show()
- point1 = QtCore.QPointF(100 , 100)
- point2 = QtCore.QPointF(100 , 200)
- point3 = QtCore.QPointF(200 , 200)
- point4 = QtCore.QPointF(200 , 100)
- pol = QtGui.QPolygonF([point1 , point2 , point3 , point4])
- pol1 = QtGui.QGraphicsPolygonItem(pol)
- self.palette.scene.addItem(pol1)
- pol.replace(1 , QtCore.QPointF(500 , 500))
- time.sleep(1)
- pol1.update()
- '''
- def main():
- app = QtGui.QApplication(sys.argv)
- w = Wedge()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement