Advertisement
LocalBoy

Untitled

Jan 22nd, 2013
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.38 KB | None | 0 0
  1. from PyQt4 import QtGui , QtCore
  2. import sys
  3. import math
  4.  
  5.  
  6. class Palette(QtGui.QGraphicsView):
  7. def __init__(self):
  8. super(Palette , self).__init__()
  9. self.UI()
  10.  
  11. def UI(self):
  12. self.sender = 0
  13. self.scene = QtGui.QGraphicsScene()
  14. self.scene.setSceneRect(0 , 0 , 300 , 300)
  15. self.setScene(self.scene)
  16.  
  17.  
  18. def mousePressEvent(self , e):
  19.  
  20.  
  21. self.endx = e.x()
  22. self.endy = e.y()
  23. if self.sender == 1:
  24. self.LineChange(self.endx , self.endy)
  25.  
  26.  
  27.  
  28.  
  29. def EditWedge(self):
  30. #self.scene.removeItem(self.poly)
  31. self.line1 = QtGui.QGraphicsLineItem(100 , 100 , 100 , 200)
  32. self.line1.setFlag(QtGui.QGraphicsItem.ItemIsMovable , True)
  33. self.line2 = QtGui.QGraphicsLineItem(100 , 200 , 200 , 200)
  34. self.line3 = QtGui.QGraphicsLineItem(200 , 200 , 100 , 100)
  35.  
  36. self.scene.addItem(self.line1)
  37. self.scene.addItem(self.line2)
  38. self.scene.addItem(self.line3)
  39. circle1 = QtGui.QGraphicsEllipseItem(95, 95 , 10 , 10)
  40. self.scene.addItem(circle1)
  41.  
  42.  
  43. def LineChange(self , x , y):
  44.  
  45.  
  46. self.endx = x
  47. self.endy = y
  48. self.scene.clear()
  49. self.line1 = QtGui.QGraphicsLineItem(100 , 200 , 100 , self.endy)
  50. self.line2 = QtGui.QGraphicsLineItem(100 , self.endy , 200 , 200)
  51. self.line3 = QtGui.QGraphicsLineItem(100 , 200 , 200 , 200)
  52. circle1 = QtGui.QGraphicsEllipseItem(95, self.endy, 10 , 10)
  53. self.scene.addItem(self.line1)
  54. self.scene.addItem(self.line2)
  55. self.scene.addItem(self.line3)
  56. self.scene.addItem(circle1)
  57.  
  58.  
  59. class Wedge(QtGui.QWidget):
  60. def __init__(self):
  61. super(Wedge , self).__init__()
  62. self.setGeometry(0 , 0 , 500 , 500)
  63. self.UI()
  64.  
  65. def keyPressEvent(self , e):
  66. if e.key() == QtCore.Qt.Key_Q:
  67. sys.exit()
  68.  
  69.  
  70.  
  71. def UI(self):
  72.  
  73. self.sender = 0
  74. self.layout = QtGui.QGridLayout(self)
  75. self.button = QtGui.QPushButton()
  76. icon = QtGui.QIcon('/home/manoj/QtTrash/wedge.jpg')
  77. self.button.setIcon(icon)
  78. self.button.clicked.connect(self.wedge)
  79. self.button1 = QtGui.QPushButton('Block')
  80. #self.button1.clicked.connect(self.block)
  81. self.button2 = QtGui.QPushButton('Force')
  82. self.layout.addWidget(self.button , 0 , 0)
  83. self.layout.addWidget(self.button1 , 1 , 0)
  84. self.layout.addWidget(self.button2 , 2 , 0)
  85. self.edit = QtGui.QPushButton('Edit')
  86. self.edit.setCheckable(True)
  87. self.edit.clicked.connect(self.EditWedge)
  88. self.edit2 = QtGui.QPushButton('EditB')
  89. self.edit2.setCheckable(True)
  90. #self.edit2.clicked.connect(self.EditBox)
  91. self.edit.hide()
  92. self.palette = Palette()
  93. self.layout.addWidget(self.palette , 0 , 1 , 3 , 1)
  94. self.layout.addWidget(self.edit , 0 , 2)
  95. self.layout.addWidget(self.edit2 , 1 , 2)
  96. self.edit2.hide()
  97. self.show()
  98.  
  99. def wedge(self):
  100. self.edit.show()
  101. tri = QtGui.QPolygonF([QtCore.QPointF(100 , 100) , QtCore.QPointF(100 , 200) , QtCore.QPointF(200 , 200)])
  102.  
  103. self.poly = QtGui.QGraphicsPolygonItem(tri)
  104. self.palette.scene.addItem(self.poly)
  105. self.poly.setFlag(QtGui.QGraphicsItem.ItemIsMovable)
  106.  
  107.  
  108. def EditWedge(self , sender):
  109. if sender:
  110. self.palette.EditWedge()
  111. self.palette.sender = 1
  112. else:
  113. self.palette.sender = 2
  114. '''
  115.  
  116. def block(self):
  117. self.edit.hide()
  118. self.edit2.show()
  119. point1 = QtCore.QPointF(100 , 100)
  120. point2 = QtCore.QPointF(100 , 200)
  121. point3 = QtCore.QPointF(200 , 200)
  122. point4 = QtCore.QPointF(200 , 100)
  123. pol = QtGui.QPolygonF([point1 , point2 , point3 , point4])
  124. pol1 = QtGui.QGraphicsPolygonItem(pol)
  125. self.palette.scene.addItem(pol1)
  126. pol.replace(1 , QtCore.QPointF(500 , 500))
  127. time.sleep(1)
  128. pol1.update()
  129. '''
  130. def main():
  131. app = QtGui.QApplication(sys.argv)
  132. w = Wedge()
  133. sys.exit(app.exec_())
  134.  
  135. if __name__ == '__main__':
  136. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement