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)
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"])