Exemple #1
0
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.setWindowState(Qt.WindowFullScreen)
        self.setWindowIcon(QtGui.QIcon('logo.png'))
        self.ui.setupUi(self)
        self.setStyleSheet("QMainWindow {font-size : 400px; color : blue; background-image: url('sistema_detecta_1360.jpg'); background-repeat:no-repeat;} \n QLabel#label_2 {background-image: url('boca.jpg')}");
        webview=self.ui.webView
        websettings = webview.settings()
        websettings.setAttribute(QtWebKit.QWebSettings.PluginsEnabled,True)
        webview.load(QUrl('file:///home/tiago/kisser/standby.html'))
        webview.setAttribute(Qt.WA_TranslucentBackground)
        # Works with and without that following line
        webview.setAttribute(Qt.WA_OpaquePaintEvent, False)
        page = webview.page()
        palette = page.palette()
        palette.setBrush(QtGui.QPalette.Base, Qt.transparent)
        page.setPalette(palette)

        self.label = self.ui.label
        #values=self.sozinho()
        #self.trick()
        self.loop=Loop(True)
        self.label.setScaledContents(True)
        self.setKinect(False)
        self.lazy=False
        self.movie = QMovie("layout/contagem.gif", QByteArray())
        self.movie.setCacheMode(QMovie.CacheAll) 
        self.movie.setSpeed(100) 
Exemple #2
0
class StartQT4(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.setWindowState(Qt.WindowFullScreen)
        self.setWindowIcon(QtGui.QIcon('logo.png'))
        self.ui.setupUi(self)
        self.setStyleSheet("QMainWindow {font-size : 400px; color : blue; background-image: url('sistema_detecta_1360.jpg'); background-repeat:no-repeat;} \n QLabel#label_2 {background-image: url('boca.jpg')}");
        webview=self.ui.webView
        websettings = webview.settings()
        websettings.setAttribute(QtWebKit.QWebSettings.PluginsEnabled,True)
        webview.load(QUrl('file:///home/tiago/kisser/standby.html'))
        webview.setAttribute(Qt.WA_TranslucentBackground)
        # Works with and without that following line
        webview.setAttribute(Qt.WA_OpaquePaintEvent, False)
        page = webview.page()
        palette = page.palette()
        palette.setBrush(QtGui.QPalette.Base, Qt.transparent)
        page.setPalette(palette)

        self.label = self.ui.label
        #values=self.sozinho()
        #self.trick()
        self.loop=Loop(True)
        self.label.setScaledContents(True)
        self.setKinect(False)
        self.lazy=False
        self.movie = QMovie("layout/contagem.gif", QByteArray())
        self.movie.setCacheMode(QMovie.CacheAll) 
        self.movie.setSpeed(100) 
        
    def keyPressEvent(self, e):
        k=e.key()
        print e.key()
        if k == QtCore.Qt.Key_Escape or k==16777227 or k==16777222 or k==48: # ESC ou Zero ou Ins (Tecladinho) - pare tudo e volte 
            self.loop.stop()
            self.setKinect(False)
        if k==16777221 or k==16777220: # ENTER pergunta o que fazer
            self.sozinho()
        if k==45: # '-', tira a foto sem cerimonias
            self.sarva(3)
        if k==43: # '+', entrega um batom sem nem perguntar nada
            self.gospel()
            
        if k==47: # '/'  faz a foto com o countdown
            self.fotenhu()
        if k==16777233 or k==49: #so - 1 no tecladinho (apelao)
            self.setKinect(True)
            self.loop.stop()
            self.trick(True)
            self.detector(True,4)
        if k==16777237 or k==50: #acompanhado- 2 no tecladinho (apelao)
            self.setKinect(True)
            self.loop.stop()
            self.trick(False)
            self.detector(True,4)
        if k==16777232 or k==55: #so - 7 no tecladinho (apelao mais lento)
            self.setKinect(True)
            self.loop.stop()
            self.trick(True)
            self.detector(True,7)
        if k==16777235 or k==56: #acompanhado- 8 no tecladinho (apelao mais lento)
            self.setKinect(True)
            self.loop.stop()
            self.trick(False)
            self.detector(True,7)
        if k==52 or k==16777234: # 4 sozinho  SEM APELAO
            self.setKinect(True)
            self.loop.stop()
            self.trick(True)
            self.detector(False)
        if k==16777227 or k==53: #acompanhado- 5 no tecladinho sem apelao
            self.setKinect(True)
            self.loop.stop()
            self.trick(False)
            self.detector(False)
            
        if k==32 or k==42: # '*' ou ESPACO, comece a disparar...
            self.detector()
            """
            self.ui.label_2.setMinimumSize(QtCore.QSize(0, 96))
            self.ui.label_2.setMaximumSize(QtCore.QSize(0, 96))
            self.ui.label_2.setText("")
            self.ui.label_3.setMovie(self.movie)
            self.movie.start()
            self.waitress=Wait()
            self.connect(self.waitress,  QtCore.SIGNAL('detector()'),  self.detector)
            self.waitress.start()
            """
    def acorda(self):
        self.loop.paranoize()
    def fotenhu(self): #para o detector e tira foto mostrando countdown
        self.loop.disconnect()
        self.countdown()
    def detector(self, apelao=False, delay=7): #apelao vai ignorar as mensagens do detector e fazer a foto via timeout
        self.loop.wakeup()
        if apelao:
            self.wu=Wait(delay)
            self.connect(self.wu,  QtCore.SIGNAL('detector()'),  self.fotenhu)
            self.wu.start()
        else:
            self.loop.paranoize()
    def countdown(self):
        self.ui.label_2.setMinimumSize(QtCore.QSize(0, 96))
        self.ui.label_2.setMaximumSize(QtCore.QSize(0, 96))
        self.ui.label_2.setText("")
        self.ui.label_3.setMovie(self.movie)
        boo=Beep()
        boo.start()
        self.movie.start()
        self.counter=Wait(4)
        self.connect(self.counter,  QtCore.SIGNAL('detector()'),  self.sarva)
        self.counter.start()
    def setKinect(self,kinect):
        self.lazy=False
        if kinect:
            self.ui.webView.setHtml('')
            self.ui.webView.setMinimumSize(QtCore.QSize(0, 480))
            self.ui.webView.setMaximumSize(QtCore.QSize(0, 480))
            self.label.setMinimumSize(QtCore.QSize(640, 480))
            self.label.setMaximumSize(QtCore.QSize(640, 480))
            self.ui.label_2.setMinimumSize(QtCore.QSize(0, 96))
            self.ui.label_2.setMaximumSize(QtCore.QSize(0, 96))
        else:
            self.label.setMinimumSize(QtCore.QSize(0, 480))
            self.label.setMaximumSize(QtCore.QSize(0, 480))
            self.ui.webView.setMinimumSize(QtCore.QSize(640, 694))
            self.ui.webView.setMaximumSize(QtCore.QSize(640, 694))
            self.ui.webView.load(QUrl('file:///home/tiago/kisser/standby.html'))
            self.ui.label.setPixmap(QPixmap("zero.png"))
            self.ui.label_2.setMinimumSize(QtCore.QSize(0, 0))
            self.ui.label_2.setMaximumSize(QtCore.QSize(0, 0))
            self.ui.label_2.setText("")
    def sozinho(self):
        self.loop.stop()
        dlg = StartSub2(self)
        if dlg.exec_():
            self.trick(dlg.getValues()) #sozinho ou acompanhado
    def photo(self, a, b):
        self.loop.refresh(a, b)
    def update(self,  pic):
        if self.lazy:
            return
        pix=QPixmap.fromImage(pic)
        self.label.setPixmap(pix)
        self.ui.label_3.raise_()
    def trick(self, solo):
        storage = cv.CreateMemStorage()

        haar=cv.Load('haarcascades/haarcascade_profileface.xml')
        self.loop=Loop(solo)
        self.connect(self.loop,  QtCore.SIGNAL('update(QImage)'),  self.update)
        self.connect(self.loop,  QtCore.SIGNAL('save()'),  self.countdown)
        self.loop.start()
    def sarva(self,veces=3):
        #self.loop.stop()
        #time.sleep(1)
        
        files=os.listdir("output/")
        files.sort()
        u=0
        if len(files) > 0:
            s=re.search("_(\d+)_", files[len(files)-1])
            if s:
                self.number=1+int(s.group(1))
        self.photographer=Photo(self.number, veces)
        self.connect(self.photographer,  QtCore.SIGNAL('postsave(QString)'),  self.postsave)
        self.photographer.start()
            
    def postsave(self, showtime):
        self.setKinect(True)
        self.ui.label_2.setText(str('%07d' % self.number))
        self.ui.label_2.setMinimumSize(QtCore.QSize(338, 96))
        self.ui.label_2.setMaximumSize(QtCore.QSize(338, 96))
        self.lazy=True
        self.label.setPixmap(QPixmap(showtime))
        self.loop.stop()
        self.gospel()
    def gospel(self):
        call(["eject","/dev/dvd1"])
        call(["eject","/dev/dvd1"])