Esempio n. 1
0
class Pantalla(QtGui.QWidget):
    posx = 0
    posy = 0
    radx = 5
    rady = 5
    temps = 0
    pilo=0
    #width = baseSize().width() + i * sizeIncrement().width();
    def __init__(self):
        # ULL: cridar el constructor de la classe base és IMPRESCINDIBLE
        # (si sobreescrivim el constructor __init__, si no, no cal)
        super(QtGui.QWidget,self).__init__()
        self.initUI()
 
    def initUI(self):
        # inicialitzem aqui si tenim objectes interns
        self.pilo=Pilota()
        self.raqueta_1=Raqueta()
        pal = self.palette()
        pal.setColor(self.backgroundRole(), QtGui.QColor( 0, 0, 0 ))
        self.setPalette(pal)
        self.setAutoFillBackground(True)
        
        self.timer=QtCore.QTimer(self)
        self.timer.setInterval(20)
        self.timer.timeout.connect(self.repaint)
        
    # la funció paintEvent es crida cada cop que es pinta la pantalla
    # no cal cap connect(), ja ve connectada per la QApplication
    
    
    def paintEvent(self,e):
        # podriem liar-nos a pintar aquí mateix, o examinar l'event "e"
        # anem al lio...
        self.pinta()
    
    def pinta(self):
        qp = QtGui.QPainter()
        qp.begin(self)
        
        #primer actualitzem la posicio de la pilota 
        self.pilo.actualitza_pos(self.width(),self.height())
        
        #self.raqueta_1.detecta_colisions(self.pilo.posx,self.pilo.posy)
        self.detecta_colisions()
        
        self.pilo.pinta(qp)
        self.raqueta_1.pinta(qp)
        #i despres pintem la pilota
        
        qp.end()
    
    
    def detecta_colisions(self):
        col=self.raqueta_1.contains(self.pilo.posx,self.pilo.posy)
        
        if (col==True):
            #print "Xoque!!!! \n"
            self.pilo.rebota()
Esempio n. 2
0
 def initUI(self):
     # inicialitzem aqui si tenim objectes interns
     self.pilo=Pilota()
     self.raqueta_1=Raqueta()
     pal = self.palette()
     pal.setColor(self.backgroundRole(), QtGui.QColor( 0, 0, 0 ))
     self.setPalette(pal)
     self.setAutoFillBackground(True)
     
     self.timer=QtCore.QTimer(self)
     self.timer.setInterval(20)
     self.timer.timeout.connect(self.repaint)