def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.setWindowTitle("Pomodoro") # all time here in seconds, in comments are default values self.study_time = 1500 # 1500 is 25 minutes self.short_break_time = 300 # 300 is 5 minutes self.long_break_time = 900 # 900 is 15 minutes self.remaining_seconds = self.study_time self.beep_noise = "bugle_tune.wav" # sound played self.last_countdown = "" self.history = {} self.studies_today = self.load_history() self.last_countdown = "study" self.setup_settings() self.setup_timer() self.ui.button.clicked.connect(self.start_timer) self.ui.actionSettings.triggered.connect(self.open_settings_window) self.ui.pushButton.clicked.connect(self.open_calendar_window)
def __init__(self, app_main): # Create main window UI QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.app_main = app_main self.asyncCmd = None self.asyncCmdRunning = False # Create helper objects to manage main window tabs self.daqTab = LpdFemGuiMainDaqTab(app_main, self) self.pwrTab = LpdFemGuiMainPowerTab(app_main, self) self.configTab = LpdFemGuiMainConfigTab(app_main, self) self.evrTab = LpdFemGuiMainEvrTab(app_main, self) self.testTab = LpdFemGuiMainTestTab(app_main, self) self.ui.operatorEdit.text() if (self.app_main.asic_testing_enabled): pass else: # ASIC testing disabled, remove test tab testIdx = self.ui.verticalTabWidget.indexOf(self.ui.testTab) self.ui.verticalTabWidget.removeTab(testIdx) # Initialise default fields based on app_main object self.ui.connectAddr.setText(self.app_main.getCachedParam('femAddr')) self.ui.connectPort.setText( str(self.app_main.getCachedParam('femPort'))) # Create a status bar with a progress bar self.createStatusBar("Not connected") # Connect signals and slots QtCore.QObject.connect(self.ui.connectButton, QtCore.SIGNAL("clicked()"), self.deviceConnectToggle) self.connect(self.ui.actionQuit, QtCore.SIGNAL('triggered()'), self.quitApplication) # Connect msgRecv function to message signal to allow other non-GUI threads to print messages self.messageSignal.connect(self.msgRecv) # Connect runStateUpdate function to signal to allow other non-GUI threads to push state updates self.runStateSignal.connect(self.runStateUpdate) # Connect run status update function to signal to data recevier to push updates self.run_status_signal.connect(self.daqTab.runStatusUpdate) # Connect power status update function to signal self.powerStatusSignal.connect(self.pwrTab.powerStatusUpdateDisplay)
def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.addToolBar(NavigationToolbar2QT(self.ui.MplWidget.canvas, self), ) self.ui.log_scaling_checkbox.setCheckState(QtCore.Qt.Unchecked) self.num_decimals = 4 self.limiting_exponent = 4 self.wavelength_axis = 'rows' self.time_axis = 'columns' # This should be adjustable outside the code to handle various types of data self.rows_values = 0 # the intention is that the values for "time" are in row 0 and wl are in column 0 self.columns_values = 0 # These might be stupid names and unnecessary in general self.plot_full = dict(Left=False, Right=False, Lower=False)
def __init__(self): super().__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) # NOTE: методом подбора получились эти значения self.ui.splitter_main.setSizes([80, 500]) self.setWindowTitle('Client http://readmanga.me') self.ui.line_edit_search.textEdited.connect(self.on_manga_search) self.ui.list_widget_search_result.itemDoubleClicked.connect( self.on_search_item_double_clicked) self.ui.push_button_next_page.clicked.connect(self.next_page) self.ui.push_button_prev_page.clicked.connect(self.prev_page) self.ui.combo_box_manga_chapters.currentIndexChanged.connect( self.on_manga_chapters_current_index_changed) self.ui.combo_box_pages.currentIndexChanged.connect( self.set_chapter_page) self.url_images_chapter = list() # Кэш страниц манги, чтобы не качать их каждый раз при смене страницы на просмотренную в главе self.cache_page_chapter_by_image = dict() self.last_item_chapter = None self.last_page_number = -1 self.image_viewer = ImageViewer() self.ui.scroll_area_image_page.setWidget(self.image_viewer) self.ui.scroll_area_image_page.setWidgetResizable(True) self.ui.scroll_area_image_page.installEventFilter(self) self.download_progress_bar = QProgressBar() self.download_progress_bar.hide() self.ui.statusbar.addPermanentWidget(self.download_progress_bar) self._update_states()
def __init__(self, gui_manager): QMainWindow.__init__(self, None) #Initialize myself as a widget self.ui = Ui_MainWindow() self.ui.setupUi(self) #Create the components of the window self.gui_manager = gui_manager self.dock_full_screen = False self.min_doc_dock_width = 200 #Maximize the display to full size #self.showMaximized() #Add status bar at bottom of window self.statusbar = QtGui.QStatusBar(self) self.statusbar.setObjectName("statusbar") self.setStatusBar(self.statusbar) #Add progress bar to status bar self.pb = QProgressBar(self.statusBar()) self.pb.setMinimum(0) self.pb.setMaximum(0) self.statusbar.addPermanentWidget(self.pb) self.pb.hide() QObject.connect(self.ui.menu_dock_visible, SIGNAL("triggered()"), self.toggle_documentation_window) QObject.connect(self.ui.dock_doc, SIGNAL("visibilityChanged(bool)"), self.toggle_dock_visible_menu) QObject.connect(self.ui.menu_dock_floating, SIGNAL("triggered()"), self.toggle_dock_float) QObject.connect(self.ui.dock_doc, SIGNAL("topLevelChanged(bool)"), self.toggle_dock_floating_menu) QObject.connect(self.ui.menu_open_full_doc, SIGNAL("triggered()"), self.load_full_doc)
def __init__(self): print('AppWindow::__init__()') super().__init__() self.settings = QSettings('./settings.ini', QSettings.IniFormat) self.defaultBboxesLandscape = [ QRectF(0, 0.1, 1, 0.8), QRectF(0.1, 0.1, 0.9, 0.8) ] self.defaultBboxesPortrait = [ QRectF(0, 0, 1, 0), QRectF(0.05, 0.05, 0.9, 0) ] self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.buttonDone.clicked.connect(self.slot_on_buttonDone_clicked) self.ui.buttonSwitchInOutEditor.clicked.connect( self.slot_on_buttonSwitchInOutEditor_clicked) self.ui.buttonSwapInOutEditor.clicked.connect( self.slot_on_buttonSwapInOutEditor_clicked) self.ui.buttonImageNext.clicked.connect( self.slot_on_buttonImageNext_clicked) self.ui.buttonImagePrev.clicked.connect( self.slot_on_buttonImagePrev_clicked) self.ui.buttonLoadKdenlive.clicked.connect( self.slot_on_buttonLoadKdenlive_clicked) self.ui.buttonLoadImages.clicked.connect( self.slot_on_buttonLoadImages_clicked) self.ui.buttonSaveKdenlive.clicked.connect( self.slot_on_buttonSaveKdenlive_clicked) self.ui.buttonSaveBboxesJson.clicked.connect( self.slot_on_buttonSaveBboxesJson_clicked) self.ui.buttonApplyBboxRatioMultiplier.clicked.connect( self.slot_on_buttonApplyBboxRatioMultiplier_clicked) self.ui.lineeditTargetVideoResolution.textChanged.connect( self.slot_on_lineeditTargetVideoResolution_textChanged) self.ui.checkboxStayInside.toggled.connect( self.slot_on_checkboxStayInside_toggled) self.ui.buttonLoadKdenlive.setShortcut(QKeySequence('Ctrl+o')) self.ui.buttonSwitchInOutEditor.setShortcut(QKeySequence('Tab')) self.ui.buttonSwapInOutEditor.setShortcut(QKeySequence('w')) self.ui.buttonImageNext.setShortcut(QKeySequence('Space')) self.ui.buttonImagePrev.setShortcut(QKeySequence('Backspace')) self.ui.checkboxStayInside.setShortcut(QKeySequence('s')) self.ui.buttonSaveKdenlive.setEnabled(False) self.ui.buttonImageNext.setEnabled(False) self.ui.buttonImagePrev.setEnabled(False) self.ui.lineeditTargetVideoResolution.setText('1920x1080') # self.ui.image.setTargetRatio(1920 / 1080) # Aspect ratio of the video slideshow self.ui.image.bboxesChanged.connect(self.bboxesChanged) self.fileFormats = [ 'All supported formats: *.kdenlive, *.json (*.kdenlive *.json)', 'Kdenlive Project Files: *.kdenlive (*.kdenlive)', 'Bboxes Json: *.json (*.json)', ] self.kdenliveFile = None self.images = [] self.imagesData = {} self.imageIdx = 0 if len(sys.argv) > 1: if re.match('.*\.kdenlive', sys.argv[1]): self.LoadKdenliveFile(sys.argv[1]) else: self.images = sys.argv[1:] print('images:', self.images) # Load bboxes from json try: self.LoadBboxesJson(self.getBboxesFilename()) except: print('WARNING: unable to parse json data') traceback.print_exc() # Override json bboxes with kdenlive clip transformations if self.kdenliveFile is not None: self.KdenliveFileToImagesData() img_path = self.images[self.imageIdx] print('imagesData:', self.imagesData) self.SetImageIdx(self.imageIdx) self.show()
def __init__(self): # Init the base class QMainWindow.__init__(self) self._settings = load_settings(Config.DEFAULT_SETTINGS) # Init the processed .ui file self._ui = Ui_MainWindow() self._ui.setupUi(self) self.setWindowTitle("TradeSkillMaster Application r{}".format(Config.CURRENT_VERSION)) # connect signals / slots self._ui.addon_status_table.doubleClicked.connect(self._addon_status_table_clicked) self._ui.backup_status_table.doubleClicked.connect(self._backup_status_table_clicked) self._ui.settings_button.clicked.connect(self.settings_button_clicked.emit) self._ui.accounts_dropdown.activated['QString'].connect(self.accounts_dropdown_changed) self._ui.realm_dropdown.activated['QString'].connect(self.realm_dropdown_changed) self._ui.export_button.clicked.connect(self.export_button_clicked) self._ui.help_button.setProperty("url", "http://tradeskillmaster.com/site/getting-help") self._ui.help_button.clicked.connect(self._link_button_clicked) self._ui.premium_button.setProperty("url", "http://tradeskillmaster.com/premium") self._ui.premium_button.clicked.connect(self._link_button_clicked) self._ui.logo_button.setProperty("url", "http://tradeskillmaster.com") self._ui.logo_button.clicked.connect(self._link_button_clicked) self._ui.twitter_button.setProperty("url", "http://twitter.com/TSMAddon") self._ui.twitter_button.clicked.connect(self._link_button_clicked) # Apply the stylesheet file = QFile(":/resources/main_window.css") file.open(QIODevice.ReadOnly) data = str(file.readAll(), encoding="ascii") self.setStyleSheet(data) # set properties which are necessary for tweaking the style self._ui.help_button.setProperty("id", "premiumButton") self._ui.premium_button.setProperty("id", "premiumButton") self._ui.header_text.setProperty("id", "headerText") # stylesheet tweaks for things which don't work when put into the .css for some unknown reason self._ui.accounting_tab.setStyleSheet("QCheckBox:disabled { color : #666; } QCheckBox { color : white; }"); self._sync_status_table_model = TableModel(self, ['Region/Realm', 'AuctionDB', 'Great Deals', 'Last Updated']) self._ui.sync_status_table.setModel(self._sync_status_table_model) self._addon_status_table_model = TableModel(self, ['Name', 'Version', 'Status']) self._ui.addon_status_table.setModel(self._addon_status_table_model) self._backup_status_table_model = TableModel(self, ['System ID', 'Account', 'Timestamp', 'Sync Status']) self._ui.backup_status_table.setModel(self._backup_status_table_model) self._accounting_info = {} self._accounting_current_account = "" self._accounting_current_realm = "" if Config.IS_WINDOWS: # create the system tray icon / menu self._tray_icon = QSystemTrayIcon(QIcon(":/resources/logo.png"), self) self._tray_icon.setToolTip("TradeSkillMaster Application r{}".format(Config.CURRENT_VERSION)) self._tray_icon.activated.connect(self._icon_activated) tray_icon_menu = QMenu(self) restore_action = QAction("Restore", tray_icon_menu) restore_action.triggered.connect(self._restore_from_tray) tray_icon_menu.addAction(restore_action) tray_icon_menu.addSeparator() quit_action = QAction("Quit", tray_icon_menu) quit_action.triggered.connect(self.close) tray_icon_menu.addAction(quit_action) self._tray_icon.setContextMenu(tray_icon_menu) self._tray_icon.hide()