Guest User

Untitled

a guest
Apr 3rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.37 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Mon Apr  2 17:02:47 2018
  4.  
  5. @author: Kergadon
  6. """
  7.  
  8. #!/usr/bin/env python
  9.  
  10. from PyQt5.QtCore import (QLineF, QPointF, QRectF, Qt)
  11. from PyQt5.QtCore import QRectF
  12. from PyQt5.QtGui import (QBrush, QColor, QPainter,QPen)
  13. from PyQt5.QtWidgets import (QApplication, QGraphicsView, QGraphicsScene, QGraphicsItem,
  14.                              QGridLayout, QVBoxLayout, QHBoxLayout,
  15.                              QLabel, QLineEdit, QPushButton,QGraphicsEllipseItem,QGraphicsLineItem)
  16.  
  17.  
  18. class node(QGraphicsEllipseItem):
  19.     def __init__(self):
  20.         super(node,self).__init__()
  21.         self.num=0
  22.         self.setBrush(QBrush(Qt.green,Qt.SolidPattern))
  23.     def mousePressEvent(self, event):
  24.         print('clicked')
  25.         pos = event.pos()
  26.         self.update()
  27.         self.setBrush(QBrush(Qt.red,Qt.SolidPattern))
  28.         super(node, self).mousePressEvent(event)
  29.        
  30.  
  31. class inverter(QGraphicsLineItem):
  32.     def __init__(self):
  33.         super(inverter,self).__init__()
  34.         pen=QPen(Qt.red,Qt.SolidLine)
  35.         pen.setWidth(6)
  36.         self.setPen(pen)
  37.         self.setLine(30, 50, 300, 300)
  38.     def mousePressEvent(self, event):
  39.         print('clicked')
  40.         pos = event.pos()
  41.         self.update()
  42.        
  43.         super(inverter, self).mousePressEvent(event)
  44. class MainWindow(QGraphicsView):
  45.     def __init__(self):
  46.         super(MainWindow, self).__init__()
  47.         scene = QGraphicsScene(self)
  48.         self.nodes=[node(),node(),node()]
  49.         self.nodes[0].num=1
  50.         self.nodes[1].num=2
  51.         self.nodes[2].num=3
  52.         for n in self.nodes:
  53.             scene.addItem(n)
  54.  
  55.        
  56.         self.nodes[0].setRect(20,40,20,20)
  57.         self.nodes[1].setRect(20,80,20,20)
  58.         self.nodes[2].setRect(20,120,20,20)
  59.         self.line1=inverter()
  60.         scene.addItem(self.line1)
  61.         scene.setSceneRect(0, 0, 500, 500)
  62.         self.setScene(scene)
  63.         self.setCacheMode(QGraphicsView.CacheBackground)
  64.         self.setWindowTitle("Node Diagram")
  65.        
  66.     def keyPressEvent(self, event):
  67.         key = event.key()
  68.         if key == Qt.Key_R:
  69.             self.tic_tac_toe.reset()
  70.         super(MainWindow, self).keyPressEvent(event)
  71.  
  72. if __name__ == '__main__':
  73.     import sys
  74.     app = QApplication(sys.argv)
  75.     mainWindow = MainWindow()
  76.  
  77.     mainWindow.show()
  78.     sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment