def show_tray(self): if QSystemTrayIcon.isSystemTrayAvailable: # create tray menu traymenu = QMenu('AyoShalat', self) openwin_menu = traymenu.addAction('Show me!') openwin_menu.triggered.connect(self.show) playazan_menu = traymenu.addAction('Play Azan') playazan_menu.triggered.connect(self.playAzan) stop_azan_menu = traymenu.addAction('Stop Azan') stop_azan_menu.triggered.connect(self.stopAzan) traymenu.addSeparator() exit_menu = traymenu.addAction('Exit') exit_menu.triggered.connect(self.exit) # create tray icon qtray = QSystemTrayIcon(self) qtray.setIcon(QIcon(self.icopath)) qtray.setVisible(True) qtray.setContextMenu(traymenu) qtray.show()
def __init__(self, parent=None): super(Pryme2, self).__init__(parent) self.timer_instances = (SimpleTimer(), AlarmClock(), PomoTimer()) self.timer_selection = QComboBox(self) for t in self.timer_instances: self.timer_selection.addItem(t.name) self.timer = self.timer_instances[0] self.commitment_textbox = QLineEdit(self) self.commitment_textbox.setPlaceholderText( 'What do you want to commit?') self.commitment_textbox.setClearButtonEnabled(True) self.commit_done_btn = QPushButton('&Done', self) self.start_btn = QPushButton('&Start', self) self.abort_btn = QPushButton('&Abort', self) self.abort_btn.hide() self.pause_btn = QPushButton('&Pause', self) self.pause_btn.hide() self.resume_btn = QPushButton('&Resume', self) self.resume_btn.hide() self.tray = QSystemTrayIcon(self) self.tray.setIcon(QIcon('pryme-logo.svg')) self.tray.show() self.set_ui() self.set_connection() self.show()
def createTrayIcon(self): self.showProgramsAction = QAction("Programs", self) self.showProgramsAction.triggered.connect(self.showProgramsPage) self.showNewProgramAction = QAction("New Program", self) self.showNewProgramAction.triggered.connect(self.newProgram) self.showSetProgramAction = QAction("Logs", self) self.showSetProgramAction.triggered.connect(self.showLogsPage) self.showDocumentationAction = QAction("Documentation", self) self.showDocumentationAction.triggered.connect(self.showDocumentation) self.quitAction = QAction("Quit", self) self.quitAction.triggered.connect(self.quit) self.trayIconMenu = QMenu(self) self.trayIconMenu.addAction(self.showProgramsAction) self.trayIconMenu.addAction(self.showSetProgramAction) self.trayIconMenu.addAction(self.showNewProgramAction) self.trayIconMenu.addAction(self.showDocumentationAction) self.trayIconMenu.addSeparator() self.trayIconMenu.addAction(self.quitAction) self.trayIcon = QSystemTrayIcon(self) self.trayIcon.setContextMenu(self.trayIconMenu) self.trayIcon.activated.connect(self.iconActivated) self.trayIcon.setIcon(QIcon(":/images/yammi-banana-icon.png")) self.trayIcon.show()
def createTrayIcon(self): self.trayIconMenu = QMenu(self) self.trayIconMenu.addAction(self.minimizeAction) self.trayIconMenu.addAction(self.maximizeAction) self.trayIconMenu.addAction(self.restoreAction) self.trayIconMenu.addSeparator() self.trayIconMenu.addAction(self.quitAction) self.trayIcon = QSystemTrayIcon(self) self.trayIcon.setContextMenu(self.trayIconMenu)
def create_tray_icon(self): tray_icon = QSystemTrayIcon(QIcon(str(pkg_data.LOGO))) tray_icon.activated.connect(self.tray_icon_clicked) menu = QMenu(self) open_action = menu.addAction("Open") open_action.triggered.connect(self.show_window) menu.addSeparator() menu.addAction(self.action_exit) tray_icon.setContextMenu(menu) return tray_icon
def __init__(self, parent=None): super(Window, self).__init__(parent) self.iconGroupBox = QGroupBox() self.iconLabel = QLabel() self.iconComboBox = QComboBox() self.showIconCheckBox = QCheckBox() self.messageGroupBox = QGroupBox() self.typeLabel = QLabel() self.durationLabel = QLabel() self.durationWarningLabel = QLabel() self.titleLabel = QLabel() self.bodyLabel = QLabel() self.typeComboBox = QComboBox() self.durationSpinBox = QSpinBox() self.titleEdit = QLineEdit() self.bodyEdit = QTextEdit() self.showMessageButton = QPushButton() self.minimizeAction = QAction() self.maximizeAction = QAction() self.restoreAction = QAction() self.quitAction = QAction() self.trayIcon = QSystemTrayIcon() self.trayIconMenu = QMenu() self.createIconGroupBox() self.createMessageGroupBox() self.iconLabel.setMinimumWidth(self.durationLabel.sizeHint().width()) self.createActions() self.createTrayIcon() self.showMessageButton.clicked.connect(self.showMessage) self.showIconCheckBox.toggled.connect(self.trayIcon.setVisible) self.iconComboBox.currentIndexChanged.connect(self.setIcon) self.trayIcon.messageClicked.connect(self.messageClicked) self.trayIcon.activated.connect(self.iconActivated) self.mainLayout = QVBoxLayout() self.mainLayout.addWidget(self.iconGroupBox) self.mainLayout.addWidget(self.messageGroupBox) self.setLayout(self.mainLayout) self.iconComboBox.setCurrentIndex(1) self.trayIcon.show() self.setWindowTitle("Systray") self.resize(400, 300)
def build_gui(watcher): app = QApplication(title="title here") menu = QMenu() rebuild_menu(menu, app, watcher) with pkg_resources.path(assets, ICON_PATH) as icon_res_path: image = QImage(str(icon_res_path)) print(icon_res_path, image) pixmap = QPixmap.from_image(image) icon = QIcon(pixmap) systray = QSystemTrayIcon(icon) systray.set_context_menu(menu) systray.show() # systray must be returned or it will be garbage collected return app, menu, systray
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.l, m = load_gif(self) self.l.setGeometry(0, 0, 20, 20) self.app: QApplication = QApplication.instance() self.calc: QThread = QThread() self.frm: QFrame = QFrame(self) self.tray_icon_menu: QMenu = QMenu(self) self.tray_icon: QSystemTrayIcon = QSystemTrayIcon(self) self.app.view_main = self Setting() About() self.init_settings() self.init_main_window() self.init_tray_icon() self.init_frm() self.setAttribute(Qt.WA_TransparentForMouseEvents) self.shortcut_settings = QShortcut(QKeySequence("Ctrl+,"), self) self.shortcut_settings.activated.connect(self.show_settings) self.shortcut_refresh = QShortcut(QKeySequence("Ctrl+r"), self) self.shortcut_refresh.activated.connect(self.start_to_hope) self.shortcut_refresh = QShortcut(QKeySequence("Ctrl+q"), self) self.shortcut_refresh.activated.connect(self.close) if 'darwin' in sys.platform: menubar = self.menuBar() hope_menu = menubar.addMenu('Hope') hope_menu.addAction( QAction('About', self, triggered=self.show_about)) hope_menu.addAction( QAction('Settings', self, triggered=self.show_settings)) self.show() # self.show_settings() self.start_to_check_update()
def __init__(self, parent=None): super(MainWindow, self).__init__() self.statusBar().showMessage("Move Dial to Deform Microphone Voice !.") self.setWindowTitle(__doc__) self.setMinimumSize(240, 240) self.setMaximumSize(480, 480) self.resize(self.minimumSize()) self.setWindowIcon(QIcon.fromTheme("audio-input-microphone")) self.tray = QSystemTrayIcon(self) self.center() QShortcut("Ctrl+q", self, activated=lambda: self.close()) self.menuBar().addMenu("&File").addAction("Quit", lambda: exit()) self.menuBar().addMenu("Sound").addAction( "STOP !", lambda: call('killall rec', shell=True)) windowMenu = self.menuBar().addMenu("&Window") windowMenu.addAction("Hide", lambda: self.hide()) windowMenu.addAction("Minimize", lambda: self.showMinimized()) windowMenu.addAction("Maximize", lambda: self.showMaximized()) windowMenu.addAction("Restore", lambda: self.showNormal()) windowMenu.addAction("FullScreen", lambda: self.showFullScreen()) windowMenu.addAction("Center", lambda: self.center()) windowMenu.addAction("Top-Left", lambda: self.move(0, 0)) windowMenu.addAction("To Mouse", lambda: self.move_to_mouse_position()) # widgets group0 = QGroupBox("Voice Deformation") self.setCentralWidget(group0) self.process = QProcess(self) self.process.error.connect( lambda: self.statusBar().showMessage("Info: Process Killed", 5000)) self.control = QDial() self.control.setRange(-10, 20) self.control.setSingleStep(5) self.control.setValue(0) self.control.setCursor(QCursor(Qt.OpenHandCursor)) self.control.sliderPressed.connect( lambda: self.control.setCursor(QCursor(Qt.ClosedHandCursor))) self.control.sliderReleased.connect( lambda: self.control.setCursor(QCursor(Qt.OpenHandCursor))) self.control.valueChanged.connect( lambda: self.control.setToolTip(f"<b>{self.control.value()}")) self.control.valueChanged.connect(lambda: self.statusBar().showMessage( f"Voice deformation: {self.control.value()}", 5000)) self.control.valueChanged.connect(self.run) self.control.valueChanged.connect(lambda: self.process.kill()) # Graphic effect self.glow = QGraphicsDropShadowEffect(self) self.glow.setOffset(0) self.glow.setBlurRadius(99) self.glow.setColor(QColor(99, 255, 255)) self.control.setGraphicsEffect(self.glow) self.glow.setEnabled(False) # Timer to start self.slider_timer = QTimer(self) self.slider_timer.setSingleShot(True) self.slider_timer.timeout.connect(self.on_slider_timer_timeout) # an icon and set focus QLabel(self.control).setPixmap( QIcon.fromTheme("audio-input-microphone").pixmap(32)) self.control.setFocus() QVBoxLayout(group0).addWidget(self.control) self.menu = QMenu(__doc__) self.menu.addAction(__doc__).setDisabled(True) self.menu.setIcon(self.windowIcon()) self.menu.addSeparator() self.menu.addAction( "Show / Hide", lambda: self.hide() if self.isVisible() else self.showNormal()) self.menu.addAction("STOP !", lambda: call('killall rec', shell=True)) self.menu.addSeparator() self.menu.addAction("Quit", lambda: exit()) self.tray.setContextMenu(self.menu) self.make_trayicon()
def __init__(self, parent=None): super(TrayIcon, self).__init__(parent) self.trayIcon = QSystemTrayIcon(QtGui.QIcon("images/icon.png"), self) self.trayIcon.activated.connect(self.onTrayIconActivated) self.trayIcon.show()
def __init__(self) -> None: super().__init__() # self.load_ui() # Broken # Use pyside-uic form.ui > gui.py to generate the UI instead self.setupUi(self) # Hide ASAP to avoid window flash self.about_widget.setHidden(True) self.plugins_widget.setHidden(True) self.config_widget.setHidden(True) self.log_widget.setHidden(True) h = LogHandler(self.append_log) fs = '%(levelname)-8s %(message)s' formatter = logging.Formatter(fs) h.setFormatter(formatter) logging.getLogger().addHandler(h) self.ICON = QIcon('images/icon.png') self.WHEEL_MAP = { -7: self.wheel_neg7, -6: self.wheel_neg6, -5: self.wheel_neg5, -4: self.wheel_neg4, -3: self.wheel_neg3, -2: self.wheel_neg2, -1: self.wheel_neg1, 0: self.wheel_cent0, 1: self.wheel_pos1, 2: self.wheel_pos2, 3: self.wheel_pos3, 4: self.wheel_pos4, 5: self.wheel_pos5, 6: self.wheel_pos6, 7: self.wheel_pos7, } self.BUTTON_MAP = [None, self.button_1, self.button_2, self.button_3, self.button_4, self.button_5] self.setWindowIcon(self.ICON) self.setWindowTitle(self.TITLE) #self.set_ms_windows_icon() extra = { # Button colors 'danger': '#dc3545', 'warning': '#ffc107', 'success': '#17a2b8', # Font 'font_family': 'Roboto', } self.apply_stylesheet(self, theme='dark_red.xml', extra=extra) # self.setWindowFlags(self.windowFlags() | Qt.Dialog | Qt.MSWindowsFixedSizeDialogHint) # self.statusbar.setSizeGripEnabled(False) self.update_status_bar("Connecting...") self.show() if QSystemTrayIcon.isSystemTrayAvailable(): self.systray = QSystemTrayIcon() self.systray.setIcon(self.ICON) systray_menu = QMenu(title=self.TITLE, parent=self) quit_action = QAction("&Quit", self) systray_menu.addAction(quit_action) quit_action.triggered.connect(self.close) self.systray.setContextMenu(systray_menu) self.systray.setVisible(True) self.systray.activated.connect(self.handle_systray_activation) shuttle_signals.data.connect(self.handle_events) self.shuttle_worker = ShuttleWorker() self.shuttle_worker.start() self.shuttle_worker.finished.connect(self.shuttle_worker.quit) self.about_text.setMarkdown(f""" Contour ShuttleXpress ===================== A multiplatform userland driver, configuration editor, event manager & generator for Contour ShuttleXpress. Version: `{__version__}` Source: `{__repo__}` Running on Python v{python_version()} Legal notice ------------ ### License Copyright 2021-2022 Raphaƫl Doursenaud This software is released under the terms of the GNU General Public License, version 3.0 or later (GPL-3.0-or-later). ### Dependencies & License Acknowledgment **Python** Used under the terms of the PSF License Agreement. **libusb hidapi** Copyright Alan Ott, Signal 11 Software. Used under the terms of the GNU General Public License, version 3.0 (GPL-3.0). **Trezor cython-hidapi** Copyright Pavol Rusnak, SatoshiLabs. Used under the terms of the GNU General Public License, version 3.0 (GPL-3.0). **Qt PySide6** Used under the terms of the GNU Lesser General Public License v3.0 (LGPL-3.0). **UN-GCPDS Qt-Material** Used under the BSD-2-Clause License. **Material Design Icons** Used under the Pictogrammers Free License. ### Trademarks Contour, ShuttleXpress and ShuttlePro are trademarks of Contour Innovations LLC in the United States of America. These are not registered or active trademarks in the European Union and France where I reside. """) self.about_button.clicked.connect(self.toggle_about_vis) self.plug_button.clicked.connect(self.toggle_plugins_vis) self.conf_button.clicked.connect(self.toggle_config_vis) self.log_button.clicked.connect(self.toggle_log_vis) self.log_clear_button.clicked.connect(self.clear_log)