def setup_gui(self): """Sets up a sample gui interface.""" central_widget = QWidget(self) central_widget.setObjectName('central_widget') self.label = QLabel('Hello World') self.input_field = QLineEdit() change_button = QPushButton('Change text') close_button = QPushButton('close') quit_button = QPushButton('quit') central_layout = QVBoxLayout() button_layout = QHBoxLayout() central_layout.addWidget(self.label) central_layout.addWidget(self.input_field) # a separate layout to display buttons horizontal button_layout.addWidget(change_button) button_layout.addWidget(close_button) button_layout.addWidget(quit_button) central_layout.addLayout(button_layout) central_widget.setLayout(central_layout) self.setCentralWidget(central_widget) # create a system tray icon. Uncomment the second form, to have an # icon assigned, otherwise you will only be seeing an empty space in # system tray self.systemtrayicon = QSystemTrayIcon(self) self.systemtrayicon.show() # set a fancy icon self.systemtrayicon.setIcon(QIcon.fromTheme('help-browser')) change_button.clicked.connect(self.change_text) quit_button.clicked.connect(QApplication.instance().quit) close_button.clicked.connect(self.hide) # show main window, if the system tray icon was clicked self.systemtrayicon.activated.connect(self.icon_activated)
def create_tray_icon(self, icon): self.create_actions() self.context_menu = self.create_context_menu() self.tray_icon = QSystemTrayIcon(self) self.tray_icon.setContextMenu(self.context_menu) self.tray_icon.setIcon(icon) self.tray_icon.activated.connect(self.on_tray_activated)
def __init__(self, app, hub, debug=False): BaseWebUI.__init__(self, "index.html", app, hub, debug) self.html = index.html self.agent = '%s v%s' % (USER_AGENT, '.'.join(str(v) for v in VERSION)) log("Starting [%s]..." % self.agent, LEVEL_INFO) # Setup the system tray icon if sys.platform == 'darwin': tray_icon = 'evominer_16x16_mac.png' elif sys.platform == "win32": tray_icon = 'evominer_16x16.png' else: tray_icon = 'evominer_32x32_ubuntu.png' self.trayIcon = QSystemTrayIcon(self._getQIcon(tray_icon)) self.trayIcon.setToolTip(tray_icon_tooltip) # Setup the tray icon context menu self.trayMenu = QMenu() self.showAppAction = QAction('&Show %s' % APP_NAME, self) f = self.showAppAction.font() f.setBold(True) self.showAppAction.setFont(f) self.trayMenu.addAction(self.showAppAction) self.aboutAction = QAction('&About...', self) self.trayMenu.addAction(self.aboutAction) self.trayMenu.addSeparator() self.exitAction = QAction('&Exit', self) self.trayMenu.addAction(self.exitAction) # Add menu to tray icon self.trayIcon.setContextMenu(self.trayMenu) # connect signals self.trayIcon.activated.connect(self._handleTrayIconActivate) self.exitAction.triggered.connect(self.handleExitAction) self.aboutAction.triggered.connect(self.handleAboutAction) self.showAppAction.triggered.connect(self._handleShowAppAction) self.app.aboutToQuit.connect(self._handleAboutToQuit) # Setup notification support self.system_tray_running_notified = False self.notifier = Notify(APP_NAME) self.trayIcon.show()
def __init__(self, parent=None): super(SyncWindow, self).__init__(parent) # Sets up several UI aspects self.tray = QSystemTrayIcon(self) self.tray.setIcon(QIcon(QPixmap(':/resources/icon.png'))) self.tray.show() self.setStyleSheet('SyncWindow {background: white}') self.setWindowTitle('IQBox') self.setWindowIcon(QIcon(QPixmap(':/resources/logobar.png'))) self.statusBar().setFont(View.labelsFont()) self.syncThread = None # Initializes the window with a `LoginView` widget. self.loginView()
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.appname = "poliBeePsync" self.settings_fname = 'pbs-settings.ini' self.data_fname = 'pbs.data' self.setupUi(self) self.w = QWidget() self.about_text() self.timer = QTimer(self) # settings_path is a string containing the path to settings self.settings_path = None # settings is a dictionary of settings self.settings = None # load_settings() sets settings_path and settings self.load_settings() self.load_data() self.timer.timeout.connect(self.syncfiles) self.timer.start(1000 * 60 * int(self.settings['UpdateEvery'])) self.loginthread = LoginThread(self.user) self.loginthread.signal_error.sig.connect(self.myStream_message) self.loginthread.signal_error.sig.connect(self.loginstatus) self.loginthread.signal_ok.sig.connect(self.myStream_message) self.loginthread.signal_ok.sig.connect(self.loginstatus) self.refreshcoursesthread = RefreshCoursesThread(self.user) self.refreshcoursesthread.dumpuser.sig.connect(self.dumpUser) self.refreshcoursesthread.newcourses.sig.connect(self.addtocoursesview) self.refreshcoursesthread.newcourses.sig.connect(self.syncnewcourses) self.refreshcoursesthread.refreshed.sig.connect(self.myStream_message) self.refreshcoursesthread.removable.sig.connect(self.rmfromcoursesview) self.downloadthread = DownloadThread(self.user, self.settings['RootFolder']) self.downloadthread.download_signal.connect( self.update_course_download) #self.downloadthread.download_signal.connect(self._resizeview) self.downloadthread.initial_sizes.connect(self.setinizialsizes) self.downloadthread.data_signal.connect(self.update_file_localtime) self.userCode.setText(str(self.user.username)) self.userCode.textEdited.connect(self.setusercode) self.password.setText(self.user.password) self.password.textEdited.connect(self.setpassword) self.trylogin.clicked.connect(self.testlogin) self.courses_model = CoursesListModel(self.user.available_courses) self.coursesView.setModel(self.courses_model) self._resizeview() self.refreshCourses.clicked.connect(self.refreshcourses) self.courses_model.dataChanged.connect(self.dumpUser) self.syncNow.clicked.connect(self.syncfiles) #self.pushButton.clicked.connect(self.syncfiles) #self.pushButton.clicked.connect(self.inittextincourses) if self.settings['SyncNewCourses'] == str(True): self.sync_new = Qt.Checked else: self.sync_new = Qt.Unchecked self.rootfolder.setText(self.settings['RootFolder']) self.rootfolder.textChanged.connect(self.rootfolderslot) self.addSyncNewCourses.setCheckState(self.sync_new) self.addSyncNewCourses.stateChanged.connect(self.syncnewslot) self.timerMinutes.setValue(int(self.settings['UpdateEvery'])) self.timerMinutes.valueChanged.connect(self.updateminuteslot) self.changeRootFolder.clicked.connect(self.chooserootdir) #self.version_label.setText("Current version: {}.".format(__version__)) #self.pushButton_2.clicked.connect(self.checknewversion) self.trayIconMenu = QMenu() self.trayIcon = QSystemTrayIcon(self.icon, self.w) self.trayIcon.activated.connect(self._activate_traymenu) self.createTray()