| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- from test_graphiques import Ui_Form
- import sys, os, time
- from PyQt4 import QtCore,QtGui, QtOpenGL
- class Plateau(QtGui.QWidget):
- def __init__(self):
- QtGui.QWidget.__init__(self)
- self.ui = Ui_Form()
- self.ui.setupUi(self)
- self.scene = QtGui.QGraphicsScene()
- self.ui.view.setScene(self.scene)
- self.scene.setSceneRect(0,0,self.ui.view.width(),self.ui.view.height())
- self.ui.view.setViewport(QtOpenGL.QGLWidget())
- self.cases = {}
-
- self.majQuadrillage(10,10)
- self.nouveauPion()
- def majQuadrillage(self, x, y):
- #autre essai avec des rectancgles
- if x > 0 and y > 0 and x == int(x) and y == int(y):
- i = 1
- lPlateau = self.ui.view.width()
- hPlateau = self.ui.view.height()
- self.cCase = int(lPlateau / x) #cote de la case
-
- pinceau = QtGui.QPen()
- pinceau.setColor(QtGui.QColor(85, 85, 85, 85))
- pinceau.setWidth(1)
-
- #cree les cases
- for i in range(x):
- for j in range(y):
- self.cases[(i,j)] = QtGui.QGraphicsRectItem(i*self.cCase, j*self.cCase, self.cCase, self.cCase)
- self.cases[(i,j)].setPen(pinceau)
- self.scene.addItem(self.cases[(i,j)])
- def nouveauPion(self):
- #creation d'un pion
- pinceau = QtGui.QPen()
- pinceau.setColor(QtGui.QColor(0, 0, 0, 120))
- pinceau.setWidth(2)
- self.pion = QtGui.QGraphicsEllipseItem(0, 0, self.cCase, self.cCase)
- self.pion.setPen(pinceau)
- self.pion.setFlag(QtGui.QGraphicsItem.ItemIsMovable)
- self.pion.setFlag(QtGui.QGraphicsItem.ItemIsFocusable)
- self.pion.setBrush(QtGui.QColor(255, 0, 0, 150))
- #options graphiques
- painter = QtGui.QPainter()
- painter.setRenderHints(QtGui.QPainter.Antialiasing, True)
- self.pion.paint(painter, 1)
- #ombre
- self.shadow = QtGui.QGraphicsDropShadowEffect()
- self.shadow.setColor(QtGui.QColor(50, 50, 50, 200))
- self.shadow.setXOffset(1)
- self.shadow.setYOffset(1)
- self.shadow.setBlurRadius(3)
- self.pion.setGraphicsEffect(self.shadow)
- self.shadow.setEnabled(True)
- #recentrage
- #self.pion.mousePressEvent(self.test())
- self.pion.setAcceptHoverEvents(True)
- #self.pion.mouseReleaseEvent(self.test())
- self.scene.addItem(self.pion)
-
- def main():
- app = QtGui.QApplication(sys.argv)
- window = Main()
- window.show()
- sys.exit(app.exec_())
- if __name__ == "__main__":
- main()
|