main.py 1.87 KB
Newer Older
Antoine Lima's avatar
Antoine Lima committed
1 2 3 4 5
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 18 18:34:40 2018

Antoine Lima's avatar
Antoine Lima committed
6
@author: Antoine Lima, Leo Reynaert, Domitille Jehenne
Antoine Lima's avatar
Antoine Lima committed
7 8
"""

Antoine Lima's avatar
Antoine Lima committed
9 10
import sys
import logging
Antoine Lima's avatar
Antoine Lima committed
11
from os.path import dirname, abspath, join
Antoine Lima's avatar
Antoine Lima committed
12 13

from PyQt5 import QtWidgets
14 15
from PyQt5.QtWidgets import QGraphicsBlurEffect
from PyQt5.QtCore import QTime, Qt
Antoine Lima's avatar
Antoine Lima committed
16

17 18
from ui.main_ui import Ui_MainWindow
from modules import *
Antoine Lima's avatar
Antoine Lima committed
19 20 21 22 23 24

class MainWin(QtWidgets.QMainWindow):
	def __init__(self, parent=None):
		QtWidgets.QWidget.__init__(self, parent)
		self.ui = Ui_MainWindow()
		self.ui.setupUi(self)
25
		
26 27 28 29 30 31
		#Background blur
		bgBlur = QGraphicsBlurEffect()
		bgBlur.setBlurHints(QGraphicsBlurEffect.QualityHint)
		#bgBlur.setBlurRadius(5)
		#self.ui.panels.setGraphicsEffect(bgBlur)
		
Antoine Lima's avatar
Antoine Lima committed
32 33 34 35
		# Set the content folder's path
		self._contentFolder = join(dirname(dirname(abspath(__file__))), 'content')
		print(self._contentFolder)
		
36
		# Module loading
Antoine Lima's avatar
Antoine Lima committed
37 38 39 40 41 42 43 44
		self.modules = [
			MenuModule(self),
			AuthModule(self),
			GameModule(self),
			EndGameModule(self),
			LeaderboardModule(self),
			OptionsModule(self)
		]
45 46
		
		for mod in self.modules:
Antoine Lima's avatar
Antoine Lima committed
47
			self.ui.panels.addWidget(mod)
48
		
Antoine Lima's avatar
Antoine Lima committed
49
		self.ui.panels.setCurrentIndex(0)
50 51 52
		self.ui.panels.currentWidget().setFocus()
		self.ui.panels.currentWidget().grabKeyboard()
		self.ui.panels.currentWidget().load()
Antoine Lima's avatar
Antoine Lima committed
53 54
		self.displaySystemTime()
		self.startTimer(1000)
55 56 57
	
	#def eventFilter(target, event):
	#	return event.type()==QEvent.KeyPress and event.key() not in acceptedKeys
Antoine Lima's avatar
Antoine Lima committed
58

Antoine Lima's avatar
Antoine Lima committed
59 60
	def timerEvent(self, e):
		self.displaySystemTime()
Antoine Lima's avatar
Antoine Lima committed
61

Antoine Lima's avatar
Antoine Lima committed
62 63
	def displaySystemTime(self):
		self.ui.lcdTime.display(QTime.currentTime().toString("hh:mm:ss"))
Antoine Lima's avatar
Antoine Lima committed
64 65 66
		
	def getContent(self, path):
		return join(self._contentFolder, path)
Antoine Lima's avatar
Antoine Lima committed
67 68 69

if __name__=='__main__':
	app = QtWidgets.QApplication(sys.argv)
Antoine Lima's avatar
Antoine Lima committed
70 71
	#logging.basicConfig(filename='babyfoot.log', level=logging.DEBUG)
	logging.basicConfig(level=logging.DEBUG)
Antoine Lima's avatar
Antoine Lima committed
72 73
	myapp = MainWin()
	myapp.show()
74
	app.exec_()