def __init__(self): self._current_note = None self._heard_note = None self._listening = Settings.START_LISTENING_AT_STARTUP self._autonext = Settings.START_AUTONEXT_AT_STARTUP #-- self._start_octave = Settings.DEFAULT_BASE_NOTE_OCTAVE # MAIN WINDOW self._main_window = MainWindow(flute_teacher=self) # SCALE MANAGER AND ARPEGGIATOR self._scale_manager = ScaleManager( scale_name=Settings.DEFAULT_SCALE_NAME, base_note=Note(letter=Settings.DEFAULT_BASE_NOTE_LETTER, alteration=Settings.DEFAULT_BASE_NOTE_ALTERATION, octave=Settings.DEFAULT_BASE_NOTE_OCTAVE), mode=Settings.DEFAULT_SCALE_MODE) self._arpeggiator = Arpeggiator( self._scale_manager, kind=Settings.DEFAULT_ARPEGGIATOR_KIND, n_octaves=Settings.DEFAULT_ARP_N_OCTAVES) self.next_note() # NOTE RECOGNITION self._hear_ai = HearAI() if self._autonext: self.set_autonext(True) if self._listening: self.start_listening()
def main( argv, file=None, pdf=None, verbose=None, debug=0, develop=None, fallback=None ): """ Entry Point. """ GlobalState.is_verbose = verbose GlobalState.is_develop = develop GlobalState.is_fallback = fallback # Debug-Level soll immer als Zahl gespeichert werden. Der Zugehörige Name kann über das Tupel Config.DEBUG_LEVELS herausgefunden werden. if debug in Config.DEBUG_LEVELS: GlobalState.debug_level = Config.DEBUG_LEVELS.index( debug ) else: GlobalState.debug_level = int( debug ) if GlobalState.debug_level and GlobalState.debug_level > Config.DEBUG_LEVEL_NONE: print("{name} runs in debug mode (debug-level: {level_index} \"{level_name}\").".format( name=Config.PROGRAM_NAME, level_index=GlobalState.debug_level, level_name=Config.DEBUG_LEVELS[GlobalState.debug_level], )) if GlobalState.debug_level >= Config.DEBUG_LEVEL_MODIFIES_EXPORTS: print("WARNING! Exporting and printing character sheets is not recommended.") if GlobalState.is_develop: print( "{name} runs in development mode.".format( name=Config.PROGRAM_NAME, )) print( "WARNING! You may encounter unexpected behaviour. Data loss is possible. Proceed only, if you know, what you are doing." ) app = QApplication( argv ) w = MainWindow( file, exportPath=pdf ) w.show() retcode = app.exec_()
class Root(): Margins = 5 def __init__(self): global message self.rootwindow = QMainWindow() self.rootwindow.setWindowFlags(Qt.FramelessWindowHint) self.mainwindow = MainWindow(self.rootwindow) # # 预留边界用于实现无边框窗口调整大小 self.mainwindow.gridLayout_3.setContentsMargins( self.Margins, self.Margins, self.Margins, self.Margins) self.titleBar = TitleBar(self.rootwindow) self.titleBar.SetIcon(QPixmap(WINDOW_ICON)) self.mainwindow.gridLayout_16.addWidget(self.titleBar) self.mainwindow.gridLayout_16.setSpacing(0) self.mainwindow.gridLayout_16.addWidget(self.mainwindow.groupBox_2) self.mainwindow.gridLayout_16.setContentsMargins( self.Margins, self.Margins, self.Margins, self.Margins) self.rootwindow.showNormal() styleFile = './Uis/style.qss' qssStyle = readQss(styleFile) self.rootwindow.setStyleSheet(qssStyle) self.mainwindow.init_solt() def show(self): self.rootwindow.show()
def main(): app = QApplication(sys.argv) app.setWindowIcon(QIcon(utils.find_data_file("icon.png"))) window = MainWindow() window.showMaximized() window.hint_window.show() app.exec()
def run(params: list) -> int: """ Starts the application. :return: Error code. If no error occurred returns 0. """ for item in params: if str(item).lower() == "--verbose": Config.set_executed_type(ExecutedType.Verbose) break result = -1 try: exec_real_path = os.path.realpath(params[0]) exec_dir = os.path.dirname(exec_real_path) Config.set_root_dir(exec_dir) app = QApplication(params) Tools.check_paths() window = MainWindow() window.show() result = app.exec_() except Exception as ex: # wildcard for an app crash Tools.write_log(ex) result = -2 finally: Tools.write_verbose("Application error code is %s" % result) return result
def exec(_): self = Application from src.modules import modules self.modules = [] for module in modules: self.modules.append(module()) from src.MainWindow import MainWindow self.mainWindow = MainWindow() self.mainWindow.initUI() for module in self.modules: if module.id in settings.modules and settings.modules[module.id]: module.enable() return QApplication.exec()
def main(argv, file=None, pdf=None, verbose=None, debug=0, develop=None, fallback=None): """ Entry Point. """ GlobalState.is_verbose = verbose GlobalState.is_develop = develop GlobalState.is_fallback = fallback # Debug-Level soll immer als Zahl gespeichert werden. Der Zugehörige Name kann über das Tupel Config.DEBUG_LEVELS herausgefunden werden. if debug in Config.DEBUG_LEVELS: GlobalState.debug_level = Config.DEBUG_LEVELS.index(debug) else: GlobalState.debug_level = int(debug) if GlobalState.debug_level and GlobalState.debug_level > Config.DEBUG_LEVEL_NONE: print( "{name} runs in debug mode (debug-level: {level_index} \"{level_name}\")." .format( name=Config.PROGRAM_NAME, level_index=GlobalState.debug_level, level_name=Config.DEBUG_LEVELS[GlobalState.debug_level], )) if GlobalState.debug_level >= Config.DEBUG_LEVEL_MODIFIES_EXPORTS: print( "WARNING! Exporting and printing character sheets is not recommended." ) if GlobalState.is_develop: print("{name} runs in development mode.".format( name=Config.PROGRAM_NAME, )) print( "WARNING! You may encounter unexpected behaviour. Data loss is possible. Proceed only, if you know, what you are doing." ) app = QApplication(argv) w = MainWindow(file, exportPath=pdf) w.show() retcode = app.exec_()
p = Process(target=zeronet.start) p.start() except BlockingIOError as err: print(err) print("Can't open lock file, your ZeroNet client is probably already running, opening browser without starting Zeronet in the background...") else: # Create a process for Zeronet p = Process(target=zeronet.start) p.start() time.sleep(5) kwargs = {} if url: kwargs = {"url": url} if zeronet_path: kwargs["zeronet_path"] = zeronet_path kwargs["homepage"] = config.get('global', 'homepage', fallback='1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D') kwargs["zeronet_base_url"] = zeronet_base_url # Start the PyQt application app = QApplication(sys.argv) mainWindow = MainWindow(**kwargs) app.exec_() if p: # Shutdown Zeronet if runingin the background p.terminate()
# -*-coding:Utf-8 -* import sys from src.MainWindow import MainWindow from PySide.QtGui import QApplication if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_())
class Application(QApplication): moduleChanged = pyqtSignal(tuple) def __init__(self, argv): QApplication.__init__(self, argv) self.setApplicationName("aidoru music player") self.setWindowIcon(QIcon("./icons/icon.ico")) def exec(_): self = Application from src.modules import modules self.modules = [] for module in modules: self.modules.append(module()) from src.MainWindow import MainWindow self.mainWindow = MainWindow() self.mainWindow.initUI() for module in self.modules: if module.id in settings.modules and settings.modules[module.id]: module.enable() return QApplication.exec() def update(): self = Application execPath = os.path.normpath( os.path.join(os.path.dirname(__file__), "..")) from .views.UpdateDialog import UpdateDialog if os.path.isdir(os.path.join(execPath, ".git")): self.updateProcess = updateProcess = QProcess() updateProcess.setWorkingDirectory(execPath) updateProcess.start("git", ["git", "pull"]) def finished(exitCode, exitStatus): python = sys.executable if python: os.execl(python, python, *sys.argv) else: os.execl(sys.argv[0], sys.argv) updateProcess.finished.connect(finished) elif sys.platform == "win32": try: release = urlopen( "https://raw.githubusercontent.com/ffwff/aidoru/master/release.txt" ).read().decode("utf-8").strip() except: return version, url = release.split(" ") if __version__ != version: url = urlopen(url).geturl() # qt doesn't handle redirections self.updateDialog = UpdateDialog() self.updateDialog.show() self.updateRequest = QNetworkRequest(QUrl(url)) f = open(os.path.join(execPath, "aidoru.zip"), "wb") def downloadRead(): f.write(self.updateReply.readAll()) def finished(): updateProcess = QProcess() updateProcess.startDetached("powershell.exe", [ "powershell.exe", "-Command", r""" Add-Type -AssemblyName System.IO.Compression.FileSystem function Unzip { param([string]$zipfile, [string]$outpath) [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath) } $folder=New-TemporaryFile | %%{ rm $_; mkdir $_ } $path="%s" echo "$path\aidoru.zip" Unzip "$path\aidoru.zip" $folder xcopy "$folder\aidoru" $path /k /q /y /c /e Start-Process "%s" """ % (execPath, sys.argv[0]) ]) sys.exit(0) self.networkManager = QNetworkAccessManager() self.updateReply = reply = self.networkManager.get( self.updateRequest) reply.downloadProgress.connect( self.updateDialog.downloadProgress) reply.finished.connect(finished) reply.readyRead.connect(downloadRead)
#! /usr/bin/env python3 # -*- coding: utf-8 -*- """ File name: PanZoomRotate.py Author: Fredrik Forsberg Date created: 2020-11-11 Date last modified: 2020-11-11 Python Version: 3.8 """ # Main file from src.MainWindow import MainWindow if __name__ == '__main__': root = MainWindow(hotkey_repr='§') root.mainloop()
from src.MainWindow import MainWindow from PyQt5 import QtWidgets import sys from src.CheckDialog import * if __name__ == '__main__': try: app = QtWidgets.QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) except Exception as e: print(e)
if __name__ == '__main__': app = QApplication(sys.argv) app.setOrganizationName( "RussianFedora" ) app.setOrganizationDomain( "www.russianfedora.ru" ) app.setApplicationName( "Qt SCOD Client" ) locale = QLocale.system() trans_path = QLibraryInfo.location(QLibraryInfo.TranslationsPath) translator = QTranslator(app) stranslator = QTranslator(app) lang = get_lang_code(locale.name()) if lang is not None: trans_file = QString("qt_%s" % lang) #print trans_file translator.load(trans_file , trans_path) app.installTranslator(translator) # self translate strans_file = QString(":/lang/qtscod-%s" % QLocale.system().name()) print(strans_file) stranslator.load(strans_file, "") print (app.applicationFilePath()) app.installTranslator(stranslator) w = MainWindow() #w.hide() w.start_listen() sys.exit(app.exec_())
import sys from PySide2 import QtWidgets from src.BlackPalette import BlackPalette from src.MainWindow import MainWindow INFORMATION = "se_music.xlsx" # KNOWLEDGE_BASE = "music-if-then.txt" KNOWLEDGE_BASE = "KnowledgeBase.txt" QA = "QA.json" if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) app.setPalette(BlackPalette()) mainWindow = MainWindow(INFORMATION, KNOWLEDGE_BASE, QA) mainWindow.setPalette(BlackPalette()) mainWindow.show() app.exec_()
class FluteTeacher: def __init__(self): self._current_note = None self._heard_note = None self._listening = Settings.START_LISTENING_AT_STARTUP self._autonext = Settings.START_AUTONEXT_AT_STARTUP #-- self._start_octave = Settings.DEFAULT_BASE_NOTE_OCTAVE # MAIN WINDOW self._main_window = MainWindow(flute_teacher=self) # SCALE MANAGER AND ARPEGGIATOR self._scale_manager = ScaleManager( scale_name=Settings.DEFAULT_SCALE_NAME, base_note=Note(letter=Settings.DEFAULT_BASE_NOTE_LETTER, alteration=Settings.DEFAULT_BASE_NOTE_ALTERATION, octave=Settings.DEFAULT_BASE_NOTE_OCTAVE), mode=Settings.DEFAULT_SCALE_MODE) self._arpeggiator = Arpeggiator( self._scale_manager, kind=Settings.DEFAULT_ARPEGGIATOR_KIND, n_octaves=Settings.DEFAULT_ARP_N_OCTAVES) self.next_note() # NOTE RECOGNITION self._hear_ai = HearAI() if self._autonext: self.set_autonext(True) if self._listening: self.start_listening() def is_autonext(self): return self._autonext def is_listening(self): return self._listening def set_autonext(self, val): self._autonext = val def hearing_loop(self): while self._listening: dec = self.hear_sample() if self._autonext and (dec is not None) and (dec == 0): self.next_note(validate=True) def start_listening(self): print('FT: start listening') self._listening = True thr = threading.Thread(target=self.hearing_loop) thr.start() def stop_listening(self): print('FT: stop listening') self._listening = False def validate_notes_gui(self): self._main_window.display_note(staff='left', note=self._current_note, ndec=0) self._main_window.display_note(staff='right', note=self._current_note, ndec=0) sleep(VALIDATE_TIME) self._main_window.erase_note(staff='left') self._main_window.erase_note(staff='right') def next_note(self, validate=False): if VALIDATE_NOTE and validate and (self._current_note is not None): self.validate_notes_gui() self._current_note = self._arpeggiator.pick_note() if self._current_note is None: print('ERROR: NEW NOTE IS NONE') exit(0) self._main_window.display_note(staff='left', note=self._current_note) self._main_window.fingering.set_fingering(self._current_note) def hear_sample(self): self._hear_ai.record(millis=200) heard_note = self._hear_ai.get_last_note( alteration=self._current_note.alteration) if heard_note is not None: self._heard_note = heard_note dec = heard_note.midi_code - self._current_note.midi_code print('head note: {}'.format(heard_note)) self._main_window.display_note(staff='right', note=heard_note, ndec=dec) return dec self._main_window.erase_note(staff='right') return None # def check_playability(self): # Fingering.check_notes(self._arpeggiator.get_notes()) # is_ok = Fingering.check_notes(self._arpeggiator.get_notes()) # if not is_ok: # print('WARNING: CONTAINS UNREGISTERED FINGERINGS') # self._main_window.display_fingering_warning() # def get_start_octave(self): # return self._start_octave def set_scale(self, scale_name, mode): _scale_mgr_tmp = copy(self._scale_manager) _scale_mgr_tmp.set_scale(scale_name, mode) _arpeggiator_tmp = copy(self._arpeggiator) _arpeggiator_tmp.set_scale_manager(_scale_mgr_tmp) if Fingerings.check_notes(_arpeggiator_tmp.get_notes()): self._scale_manager = _scale_mgr_tmp self._arpeggiator = _arpeggiator_tmp self.next_note() else: print('FluteTeacher.set_scale() -> FingeringError') raise FingeringError def set_base_note(self, letter, alteration): _scale_mgr_tmp = copy(self._scale_manager) _scale_mgr_tmp.set_basenote(letter, alteration) _arpeggiator_tmp = copy(self._arpeggiator) _arpeggiator_tmp.set_scale_manager(_scale_mgr_tmp) if Fingerings.check_notes(_arpeggiator_tmp.get_notes()): self._scale_manager = _scale_mgr_tmp self._arpeggiator = _arpeggiator_tmp self.next_note() else: print('FluteTeacher.set_base_note() -> FingeringError') raise FingeringError def set_start_octave(self, start_octave=4): _scale_mgr_tmp = copy(self._scale_manager) _scale_mgr_tmp.set_octave(start_octave) _arpeggiator_tmp = copy(self._arpeggiator) _arpeggiator_tmp.set_scale_manager(_scale_mgr_tmp) if Fingerings.check_notes(_arpeggiator_tmp.get_notes()): self._scale_manager = _scale_mgr_tmp self._arpeggiator = _arpeggiator_tmp self.next_note() else: print('FluteTeacher.set_start_octave() -> FingeringError') raise FingeringError def set_arpeggiator(self, kind, n_octaves): _arpeggiator_tmp = Arpeggiator(self._scale_manager, kind, n_octaves) if Fingerings.check_notes(_arpeggiator_tmp.get_notes()): self._arpeggiator = _arpeggiator_tmp self.next_note() else: print('FluteTeacher.set_arpeggiator() -> FingeringError') raise FingeringError def set_fingering_display_mode(self, mode, delay): self._main_window.fingering.set_display_mode(mode, delay) def set_fingering_key_color(self, color): self.fingering.set_fingering_key_color(color) def set_fingering_delay_color(self, color): self.fingering.set_fingering_delay_color(color) def quit(self): print('FluteTeacher: closing MainWindow') self._main_window.close() print('FluteTeacher says babye.')
# -*- coding: utf-8 -*- # app for database and hydrosoftware final work # author: rainyl # update: 2019-3-27 import sys from PyQt5.QtWidgets import QApplication from src.MainWindow import MainWindow if __name__ == "__main__": app = QApplication(sys.argv) mainwindow = MainWindow() mainwindow.show() sys.exit(app.exec_())
import sys from PyQt5.QtWidgets import QApplication from src.MainWindow import MainWindow if __name__ == '__main__': app = QApplication(sys.argv) ex = MainWindow() ex.show() sys.exit(app.exec_())