def addCategoryButtonClicked(self): spreadsheet_hdl = SpreadsheetHandler() appctx = ApplicationContext() new_category = self.addCategoryLine.text() categories = spreadsheet_hdl.read_categories() if new_category in categories: alert = QMessageBox() alert.setWindowTitle("Category Adding") alert.setWindowIcon(QIcon(appctx.get_resource("sheets.ico"))) alert.setText("The category " + new_category + " already exists.") alert.exec_() return spreadsheet_hdl.add_category(new_category) self.resetCategoriesComboBox() alert = QMessageBox() alert.setWindowTitle("Category Adding") alert.setWindowIcon(QIcon(appctx.get_resource("sheets.ico"))) alert.setText("The category " + new_category + " was succesfully added!") alert.exec_()
def submitIncomeButtonClicked(self): spreadsheet_hdl = SpreadsheetHandler() appctx = ApplicationContext() data = [ ["=MONTH(\""+self.incomesDateEdit.date().toString("MM/dd/yyyy")+"\")", self.incomesDateEdit.date().toString("MM/dd/yyyy"), str(self.incomesDoubleSpinBox.value()), self.incomesSpecificationLine.text(), self.incomesObservationLine.text() ] ] for index in range(len(data[0])): if data[0][index] == "": data[0][index] = "-" spreadsheet_hdl.append_data(data, range="Incomes") spreadsheet_hdl.income_sort_by_date() alert = QMessageBox() alert.setWindowTitle("Income Submitted") alert.setWindowIcon(QIcon(appctx.get_resource("submit.ico"))) alert.setText("The income was submitted!") alert.exec_()
def createAndDeleteButtonClicked(self): appctx = ApplicationContext() alert = QMessageBox() alert.setIcon(QMessageBox.Question) alert.setText("All information present " "on the current spreadsheet " "will be lost. " "Are you sure you wish to continue?") alert.setWindowTitle("Spreadsheet Reset Confirmation") alert.setWindowIcon(QIcon(appctx.get_resource("sheets.ico"))) alert.setStandardButtons(QMessageBox.Yes | QMessageBox.No) alert.setDefaultButton(QMessageBox.No) reply = alert.exec_() if reply == alert.Yes: spreadsheet_hdl = SpreadsheetHandler() spreadsheet_hdl.delete_spreadsheet() spreadsheet_hdl.create_spreadsheet() self.resetCategoriesComboBox() alert = QMessageBox() alert.setWindowTitle("Spreadsheet Reset") alert.setWindowIcon(QIcon(appctx.get_resource("sheets.ico"))) alert.setText("A new spreadsheet was created!") alert.exec_()
def submitExpenseButtonClicked(self): spreadsheet_hdl = SpreadsheetHandler() appctx = ApplicationContext() if self.nonRecurringExpenseBox.checkState() == 2: recurring_status = "Non-Recurring" else: recurring_status = "Recurring" data = [ ["=MONTH(\""+self.expenseDateEdit.date().toString("MM/dd/yyyy")+"\")", self.expenseDateEdit.date().toString("MM/dd/yyyy"), str(self.expenseDoubleSpinBox.value()), self.expenseCategoriesComboBox.currentText(), self.expenseSpecificationLine.text(), recurring_status, self.expenseObservationLine.text() ] ] for index in range(len(data[0])): if data[0][index] == "": data[0][index] = "-" spreadsheet_hdl.append_data(data, range="Expenses") spreadsheet_hdl.expenses_sort_by_date() alert = QMessageBox() alert.setWindowTitle("Expense Submitted") alert.setWindowIcon(QIcon(appctx.get_resource("submit.ico"))) alert.setText("The expense was submitted!") alert.exec_()
def __init__(self, design_name): self.appctxt = ApplicationContext() design_path = self.appctxt.get_resource(design_name) Form, Window = uic.loadUiType(design_path) self.window = Window() self.ui = Form() self.ui.setupUi(self.window) self.file_dialog = QFileDialog()
def __init__(self, url): super().__init__() generate_qr_code(url) self.appctxt = ApplicationContext() stylesheet = self.appctxt.get_resource('styles.qss') self.appctxt.app.setStyleSheet(open(stylesheet).read()) self.v_window = VideoWindow() self.s_window = SearchWindow()
def main(): appctxt = ApplicationContext() template_path = appctxt.get_resource("pattern.png") appctxt.app.setStyle("Fusion") window = MainWindow(template_path) window.show() exit_code = appctxt.app.exec_() sys.exit(exit_code) return exit_code
def __init__(self, parent=None): self.appctxt = ApplicationContext() super(MsUiDesign, self).__init__(parent) self.setWindowTitle("MikroScript") self.setStyleSheet(COLOR_BG) self.resize(1128, 768) self.setMinimumSize(1128, 768) self.setWindowIcon(QIcon(self.appctxt.get_resource("favicon.png"))) # Updated by Pinkesh Shah on 29-Apr-20 # Start Region self.activeJobTabs = [] # End Region self.tabCtr = 0 self.tabview = QTabWidget() # self.tabview.setStyleSheet(CSS.CSS_TAB) self.conn = sqlite3.connect("MikroScript.db") self.changeStyle('Windows') self.createMenuBar() self.tree_dock_widget() self.card_dock_widget() self.create_dock_widget_area() # self.createBottomArea() # mainLayout = QGridLayout() # # mainLayout.addLayout(self.TopArea , 0, 0, 1, 3) # # mainLayout.addLayout(self.LeftArea , 1, 0, 1, 1) # mainLayout.addLayout(self.RightArea , 1, 1, 1, 2) # # mainLayout.addLayout(self.BottomArea, 2, 0, 1, 3) # # mainLayout.addWidget(self.topLeftGroupBox, 1, 0) # # mainLayout.addWidget(self.topRightGroupBox, 1, 1) # # mainLayout.addWidget(self.bottomLeftTabWidget, 2, 0) # # mainLayout.addWidget(self.bottomRightGroupBox, 2, 1) # # mainLayout.addWidget(self.progressBar, 3, 0, 1, 2) # # mainLayout.setRowStretch(1, 1) # mainLayout.setColumnStretch(1, 1) # mainLayout.setColumnStretch(2, 1) # self.plusButton.setFixedSize(20, 20) # Small Fixed size addButton = QPushButton( QIcon(self.appctxt.get_resource("add-24px.svg")), "") addButton.clicked.connect(self.ActionNew) self.tabview.setMovable(True) self.tabview.setTabsClosable(True) self.tabview.tabCloseRequested.connect(self.removeTab) self.tabview.setCornerWidget(addButton) # self.tabview = CustomTabWidget() self.setCentralWidget(self.tabview) self.ActionNew() self.get_job_list()
def parse(): global data, css appctxt = ApplicationContext() datafile = appctxt.get_resource('dictionary_data/english.json') cssfile = appctxt.get_resource('styles/english.css') with open(datafile, encoding='utf8') as df: raw = df.read() data = json.loads(raw) with open(cssfile, encoding='utf8') as cf: css = cf.read()
def delCategoryButtonClicked(self): spreadsheet_hdl = SpreadsheetHandler() appctx = ApplicationContext() category_to_be_del = self.delCategoryComboBox.currentText() spreadsheet_hdl.delete_category(category_to_be_del) self.resetCategoriesComboBox() alert = QMessageBox() alert.setWindowTitle("Category Deleting") alert.setWindowIcon(QIcon(appctx.get_resource("sheets.ico"))) alert.setText("The category " + category_to_be_del + " was succesfully deleted!") alert.exec_()
def createAndMaintainButtonClicked(self): appctx = ApplicationContext() spreadsheet_hdl = SpreadsheetHandler() spreadsheet_hdl.rename_spreadsheet(spreadsheet_hdl.file_name + '_OLD') spreadsheet_hdl.create_spreadsheet() self.resetCategoriesComboBox() alert = QMessageBox() alert.setWindowTitle("Spreadsheet Reset") alert.setWindowIcon(QIcon(appctx.get_resource("sheets.ico"))) alert.setText("A new spreadsheet was created! To access the old " "spreadsheet, look for Expenses Tracker_OLD in your Drive.") alert.exec_()
class KeithleyApp(BaseMicroscopeApp): name = "OECT_Control" appctxt = ApplicationContext() ui_filename = appctxt.get_resource('base_microscope_app_mdi.ui') def setup(self): # self.appctxt = ApplicationContext() from keithley2400_sourcemeter_hc import Keithley2400SourceMeterComponent self.k1 = self.add_hardware( Keithley2400SourceMeterComponent(self, name='keithley2400_sourcemeter1')) self.k1.settings['port'] = 'GPIB0::22' self.k2 = self.add_hardware( Keithley2400SourceMeterComponent(self, name='keithley2400_sourcemeter2')) self.k2.settings['port'] = 'GPIB0::24' from output_curve_measure import OutputCurveMeasure self.add_measurement(OutputCurveMeasure(self)) from transfer_curve_measure import TransferCurveMeasure self.add_measurement(TransferCurveMeasure(self)) from test_device_measure import TestDeviceMeasure self.add_measurement(TestDeviceMeasure(self)) from transient_step_response_measure import TransientStepResponseMeasure self.add_measurement(TransientStepResponseMeasure(self))
def __init__(self, wheres_the_fck_receipt: api_interface.WheresTheFckReceipt, parent=None): QWidget.__init__(self, parent=None) self.wheres_the_fck_receipt = wheres_the_fck_receipt # tab widget self.tab_widget = QTabWidget() self.tab_widget.addTab(SettingsWidget(wheres_the_fck_receipt), "Settings") self.tab_widget.addTab(Indexer(wheres_the_fck_receipt), "Indexer") self.tab_widget.addTab(SearcherWidget(wheres_the_fck_receipt), "Searcher") self.tab_widget.currentChanged.connect(self.tab_changed) # get settings settings = QSettings('WheresTheFckReceipt', 'WheresTheFckReceipt') active_tab = settings.value("active_tab", 0) self.tab_widget.setCurrentIndex(active_tab) # build window title app_context = ApplicationContext() version = app_context.build_settings['version'] app_name = app_context.build_settings['app_name'] window_title = app_name + " v" + version # build main window self.setWindowTitle(window_title) self.setCentralWidget(self.tab_widget) self.resize(800, 600)
def main(): global appctxt appctxt = ApplicationContext() # TODO: load_window # loading english.parse() hindi.parse() main_window = MainWindow() # TODO: connect to click event on load_window main_window.show() # there seems to be some time lag when devanagari characters have to be rendered # in hindi_box tab page for the first time. # this prevents awkward lag when first hindi page switch is performed. main_window.tabs.setCurrentWidget(main_window.hindi_box) ri = 'рдЛ' main_window.hindi_box.appendHtml(ri) main_window.hindi_box.clear() main_window.tabs.setCurrentWidget(main_window.english_box) exit_code = appctxt.app.exec_() sys.exit(exit_code) # clean exit
def __init__(self, main_logger, ssh_pass): self.main_logger = main_logger #define settings from config self.remote_list = [("127.0.0.1", 6969)] self.local_list = [("127.0.0.1", 6969)] self.creds_pass = ssh_pass self.ssh_config_file = open( ApplicationContext().get_resource("ssh_config.json")) self.ssh_config = json.load(self.ssh_config_file) self.ssh_hostname = self.ssh_config['hostname'] self.ssh_port = self.ssh_config['port'] self.ssh_user = self.ssh_config['username'] print(self.ssh_config) #create loggger SSHTF_create_logger(loglevel="DEBUG", logger=main_logger) #establish sshtunnel server self.server = SSHTunnelForwarder( self.ssh_hostname, ssh_port=self.ssh_port, ssh_username=self.ssh_user, ssh_password=self.creds_pass, remote_bind_addresses=self.remote_list, local_bind_addresses=self.local_list)
def render(self): self.setObjectName('bg-dark-gradient') # Jumbotron self.jumbotron_bg = QLabel(self) self.jumbotron_bg.setPixmap( QPixmap(self.state['APPCTX'].get_resource('img/bg.jpg')) ) self.jumbotron_bg.setScaledContents(True) self.jumbotron_span = QLabel(""" <p style="color:white; font-weight:800; font-size:65pt; line-height:55%">PeakFinder</p> <br> <p style="color:white; font-weight:100; font-size:16pt;"> Herramienta para la detección y análisis de contracciones en tiempo real. </p> """, self.jumbotron_bg) self.jumbotron_span.setAlignment(Qt.AlignCenter) self.jumbotron_span.setWordWrap(True) self.jumbotron_span.setObjectName('jumbotron_span') # Formulario self.email = input(self, Rtype="email") # Footer self.footer = QLabel(self) self.footer.setPixmap(QPixmap(ApplicationContext().get_resource('img/waves.png'))) self.footer.setScaledContents(True)
def run(): application_context = ApplicationContext() service_locator.set_injector( Injector([InjectionModule(application_context)])) app: QApplication = application_context.app app.setApplicationDisplayName("NASM Debugger") app.setOrganizationName("personal") app.setOrganizationDomain("com.michael.bradley.nasm-debugger") app.setQuitOnLastWindowClosed(True) # noinspection PyUnresolvedReferences app.lastWindowClosed.connect(save_settings) logger = service_locator.logger() logger.info("Welcome to NASM Debugger! The application is starting up...") logger.info( f"Log files are written to {service_locator.config().logs_directory}") logger.info( f"User settings are written to {service_locator.settings().user.file_path()}" ) window = service_locator.get_service(NASMDebuggerWindow) window.show() exit_code = application_context.app.exec() sys.exit(exit_code)
def run(self): app_ctx = ApplicationContext() window = Window() app_ctx.app.setWindowIcon(QIcon(window.icon_path)) rgb_finder = RGBFinder(window) rgb_finder.run() return app_ctx.app.exec_()
def __init__(self, ctx: ApplicationContext): super(self.__class__, self).__init__() self.setupUi(self) song_path = ctx.get_resource('sounds\good.wav') self.song = QSound(song_path) self.song.play() self.song.setLoops(99999999)
def __init__( self, output_dir: str, backup_experiment_start_index: int, experiment_baseline_start_index: int, experiment_baseline_end_index: int, test_pulse_plot_start: float, test_pulse_plot_end: float, test_pulse_baseline_samples: int, thumbnail_step: int, initial_nwb_path: Optional[str], initial_stimulus_ontology_path: Optional[str], initial_qc_criteria_path: Optional[str] ): self.app_cntxt = ApplicationContext() sweep_plot_config = SweepPlotConfig( test_pulse_plot_start, test_pulse_plot_end, test_pulse_baseline_samples, backup_experiment_start_index, experiment_baseline_start_index, experiment_baseline_end_index, thumbnail_step ) # initialize components self.main_window = MainWindow() self.pre_fx_controller: PreFxController = PreFxController() self.pre_fx_data: PreFxData = PreFxData() self.fx_data: FxData = FxData() self.sweep_page = SweepPage(sweep_plot_config) self.feature_page = CellFeaturePage() self.plot_page = PlotPage() self.status_bar = self.main_window.statusBar() # set cmdline params self.pre_fx_controller.set_output_path(output_dir) # connect components self.pre_fx_controller.connect(self.pre_fx_data, self.fx_data) self.sweep_page.connect(self.pre_fx_data) self.main_window.insert_tabs(self.sweep_page, self.feature_page, self.plot_page) self.main_window.create_main_menu_bar(self.pre_fx_controller) self.fx_data.connect(self.pre_fx_data) self.feature_page.connect(self.fx_data) self.main_window.setup_status_bar(self.pre_fx_data, self.fx_data) # initialize default data self.pre_fx_data.set_default_stimulus_ontology() self.pre_fx_data.set_default_qc_criteria() # The user can request that specific data be loaded on start if initial_stimulus_ontology_path is not None: self.pre_fx_controller.selected_stimulus_ontology_path.emit(initial_stimulus_ontology_path) if initial_qc_criteria_path is not None: self.pre_fx_controller.selected_qc_criteria_path.emit(initial_qc_criteria_path) if initial_nwb_path is not None: self.pre_fx_controller.selected_data_set_path.emit(initial_nwb_path)
def parse(): global data, css appctxt = ApplicationContext() datafile = appctxt.get_resource('dictionary_data/hindi.txt') cssfile = appctxt.get_resource('styles/hindi.css') with open(datafile, encoding='utf8') as df: dlim = '\t' ilim = ',' data = {} for line in df: l = line.split(dlim) data[l[0]] = l[1].split(ilim) with open(cssfile, encoding='utf8') as cf: css = cf.read()
class MainCore: def __init__(self): self.appctxt = ApplicationContext() def resource(self, source_name): return self.appctxt.get_resource(source_name) def exit(self): exit_code = self.appctxt.app.exec_() return sys.exit(exit_code)
def main(): appctxt = ApplicationContext() w = QtWidgets.QWidget() with open('config.json') as json_file: config = json.load(json_file) tray = SystemTrayIcon(config, w) update_tray(config, tray) tray.show() exit_code = appctxt.app.exec_() sys.exit(exit_code)
def main(): print("Entering fbs") appctxt = ApplicationContext() # 1. Instantiate ApplicationContext MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow, appctxt) MainWindow.show() exit_code = appctxt.app.exec_() # 2. Invoke appctxt.app.exec_() sys.exit(exit_code) os.system('fbs run')
def __init__(self, *args, **kwargs): super(MainWindow, self).__init__(*args, **kwargs) self.appctxt = ApplicationContext() # Main Widget Container MainWidgetContainer = QWidget() QFontDatabase.addApplicationFont(self.appctxt.get_resource('fonts/Cantarell-Regular.ttf')) MainWidgetContainer.setStyleSheet(StyleSheet.css("window")) self.setCentralWidget(MainWidgetContainer) # get user's screen dimensions self.screenSize = QDesktopWidget().screenGeometry() self.maxScreenWidth = self.screenSize.width() self.maxScreenHeight = self.screenSize.height() # Main Window sizing self.setMinimumSize(self.maxScreenWidth//2.5,self.maxScreenHeight//2.5) self.resize(self.maxScreenWidth//2,self.maxScreenHeight//2) ############# # WIDGETS # ############# # status bar # self.status = QStatusBar() self.status.setStyleSheet(StyleSheet.css("status")) self.setStatusBar(self.status) ############# # LAYOUTS # ############# #################### # SIGNAL / SLOTS # #################### self.resized.connect(self.SLOT_resized) #################### # START-UP # #################### self.updateTitle() self.show()
def main(): appctxt = ApplicationContext() # stylesheet = appctxt.get_resource('styles.qss') # appctxt.app.setStyleSheet(open(stylesheet).read()) appctxt.app.setStyle('Fusion') window = MainWindow() window.show() exit_code = appctxt.app.exec_() sys.exit(exit_code) return exit_code
def window(): appctxt = ApplicationContext() app = QApplication(sys.argv) win = MainWindow() win.show() timer = QTimer() timer.timeout.connect(win.mainWidget.display_new_messages) timer.start(1000) app.exec_() exit_code = appctxt.app.exec_()
def __init__(self, ui_main, main_logger, ssh_pass): #set imports as part of self self.uimain = ui_main self.ssh_tunnel = magmaGS.magmaGS(main_logger, ssh_pass) #read config self.actions_config_file = open( ApplicationContext().get_resource("actions_config.json")) self.actions_config = json.load(self.actions_config_file) print(self.actions_config) self.hosts_file = python_hosts.Hosts()
def preloadInsults(self): insultsFiles = [ "pirate", "scifi", "scottish", "medieval", "shakespeare" ] insults = {} for file in insultsFiles: insultsFilePath = ApplicationContext().get_resource(f"{file}.txt") with open(insultsFilePath) as insultsFile: insultsList = insultsFile.read().split("\n") insults[file] = insultsList self.insults = insults
def setUp(self): '''Creates the QApplication instance''' # Simple way of making instance a singleton super(UsesQApplication, self).setUp() global _instance if _instance is None: # _instance = QApplication([]) _instance = ApplicationContext() self.app = _instance