from tkinter import Tk from tkinter import messagebox import sys if __name__ == '__main__': logObj = Logger() try: database = dm.Database(logObj) except: root = Tk() root.withdraw() messagebox.showerror( "Hiba", "A rendszer nem tud csatlakozni az adatbázishoz.") sys.exit(1) loginWindow = lw.LoginWindow(logObj, database) try: user = us.User(logObj, loginWindow.user, database, loginWindow.isFirstTime) except AttributeError: sys.exit(0) try: mainWindow = mw.MainWindow(logObj, user, database) except TclError: pass database.dbConnection.close()
def __init__(self): #Create data directories. Included in windows even though #the project won't work in windows yet self.frames = 0 self.oldtime = 0 SettingsXML = self.Get_Settings() Globals.SettingsXML = SettingsXML self.window = MainWindow() self.ErrorMsg = None self.system = None Globals.load_game = partial(self.load_game, self) Globals.load_game = self.load_game Globals.Mainwindow = self.window Globals.Mouse = PyMouse() Globals.Joysticks = [ pygame.joystick.Joystick(i) for i in xrange(pygame.joystick.get_count()) ] [i.init() for i in Globals.Joysticks] self.state_slot = 0 if not os.path.isdir(Globals.DataDir + "temp"): os.mkdir(Globals.DataDir + "temp") if not os.path.isdir(Globals.DataDir + "Systems"): os.mkdir(Globals.DataDir + "Systems") if not os.path.isdir(Globals.DataDir + "Games"): os.mkdir(Globals.DataDir + "Games") SystemSettingsTree = { ("", 1, ("name", ), SettingsCheck.SystemExistSanityCheck): None } CoreSettingsTree = { ("", 1, ("name", "system"), SettingsCheck.CoreNameSanityCheck): None } for i in os.listdir(Globals.DataDir + "Systems"): if os.path.isdir(Globals.DataDir + "Systems/" + i): try: with open(Globals.DataDir + "Systems/" + i + "/system.xml", 'r') as settingsfile: SystemXML = ET.XML(settingsfile.read()) if SettingsCheck.check_settings(SystemSettingsTree, SystemXML): Globals.Systems.append((i)[7:]) for j in os.listdir(Globals.DataDir + "Systems/" + i): if os.path.isdir(Globals.DataDir + "Systems/" + i + "/" + j): try: settingsfile = open( Globals.DataDir + "Systems/" + i + "/" + j + "/core.xml", 'r') with open( Globals.DataDir + "Systems/" + i + "/" + j + "/core.xml", 'r') as settingsfile: CoreXML = ET.XML(settingsfile.read()) if SettingsCheck.check_settings( CoreSettingsTree, CoreXML): Globals.Cores.append(i[7:] + "/" + j[5:]) except: pass except: pass self.systemrunning = False GamesXML = self.Get_Games() Globals.GamesXML = GamesXML Globals.Update_Games() Globals.WindowHeight = int( Globals.SettingsXML.find("Window").get("height")) Globals.WindowWidth = int( Globals.SettingsXML.find("Window").get("width")) self.window.set_default_size(Globals.WindowWidth, Globals.WindowHeight) self.window.connect('check-resize', self.Window_Size_Changed) self.window.connect("delete-event", self.on_kill) self.window.connect("destroy", self.on_kill) self.window.show_all() Globals.Hotkeys = self.generateControls( Globals.SettingsXML.find("Hotkeys")) self.timeout = GObject.timeout_add(16, self.runframe)
# -*- coding: utf-8 -*- ## GUI应用程序主程序入口 import sys from PySide2.QtWidgets import QApplication from SplashScreen import SplashScreen from Windows import MainWindow app = QApplication(sys.argv) # 创建GUI应用程序 splash = SplashScreen() mainWindow = MainWindow() # 创建主窗体 mainWindow.show() # 显示主窗体 sys.exit(app.exec_())