def __init__(self, syntax, parent=None): QMainWindow.__init__(self, parent) if parent is None: self.setWindowFlags(Qt.WindowType.Widget) self.is_synced_to_container = False self.syntax = syntax self.editor = TextEdit(self) self.editor.setContextMenuPolicy( Qt.ContextMenuPolicy.CustomContextMenu) self.editor.customContextMenuRequested.connect(self.show_context_menu) self.setCentralWidget(self.editor) self.create_toolbars() self.undo_available = False self.redo_available = False self.copy_available = self.cut_available = False self.editor.modificationChanged.connect( self._modification_state_changed) self.editor.undoAvailable.connect(self._undo_available) self.editor.redoAvailable.connect(self._redo_available) self.editor.textChanged.connect(self._data_changed) self.editor.copyAvailable.connect(self._copy_available) self.editor.cursorPositionChanged.connect( self._cursor_position_changed) self.editor.link_clicked.connect(self.link_clicked) self.editor.class_clicked.connect(self.class_clicked) self.editor.smart_highlighting_updated.connect( self.smart_highlighting_updated)
def event(self, ev): if ev.type() in (QEvent.Type.WindowBlocked, QEvent.Type.WindowUnblocked): if ev.type() == QEvent.Type.WindowBlocked: self.window_blocked.emit() else: self.window_unblocked.emit() return QMainWindow.event(self, ev)
def __init__(self, syntax, parent=None): QMainWindow.__init__(self, parent) if parent is None: self.setWindowFlags(Qt.WindowType.Widget) self.is_synced_to_container = False self.syntax = syntax self._is_modified = False self.copy_available = self.cut_available = False self.quality = 90 self.canvas = Canvas(self) self.setCentralWidget(self.canvas) self.create_toolbars() self.canvas.image_changed.connect(self.image_changed) self.canvas.undo_redo_state_changed.connect(self.undo_redo_state_changed) self.canvas.selection_state_changed.connect(self.update_clipboard_actions)
def main(): from calibre.gui2 import Application from qt.core import QMainWindow, QStatusBar, QTimer app = Application([]) w = QMainWindow() s = QStatusBar(w) w.setStatusBar(s) s.showMessage('Testing ProceedQuestion') w.show() p = ProceedQuestion(w) def doit(): p.dummy_question() p.dummy_question( action_label='A very long button for testing relayout (indeed)') p(lambda p: None, None, 'ass2', 'ass2', 'testing2', 'testing2', det_msg= 'details shown first, with a long line to test wrapping of text and width layout', show_det=True, show_ok=True) QTimer.singleShot(10, doit) app.exec_()
def test(): from qt.core import QMainWindow app = QApplication([]) w = QMainWindow() cf = CoverFlow() w.resize(cf.size()+QSize(30, 20)) model = DummyImageList() cf.setImages(model) cf.setCurrentSlide(39000) w.setCentralWidget(cf) w.show() cf.setFocus(Qt.FocusReason.OtherFocusReason) sys.exit(app.exec())
def test(scale=0.25): from qt.core import QLabel, QPixmap, QMainWindow, QWidget, QScrollArea, QGridLayout from calibre.gui2 import Application app = Application([]) mi = Metadata('Unknown', ['Kovid Goyal', 'John & Doe', 'Author']) mi.series = 'A series & styles' m = QMainWindow() sa = QScrollArea(m) w = QWidget(m) sa.setWidget(w) l = QGridLayout(w) w.setLayout(l), l.setSpacing(30) scale *= w.devicePixelRatioF() labels = [] for r, color in enumerate(sorted(default_color_themes)): for c, style in enumerate(sorted(all_styles())): mi.series_index = c + 1 mi.title = 'An algorithmic cover [%s]' % color prefs = override_prefs(cprefs, override_color_theme=color, override_style=style) scale_cover(prefs, scale) img = generate_cover(mi, prefs=prefs, as_qimage=True) img.setDevicePixelRatio(w.devicePixelRatioF()) la = QLabel() la.setPixmap(QPixmap.fromImage(img)) l.addWidget(la, r, c) labels.append(la) m.setCentralWidget(sa) w.resize(w.sizeHint()) m.show() app.exec()
def main(): app = Application([]) w = QMainWindow() sb = w.statusBar() la = QLabel(sb) sb.addPermanentWidget(la) tts = TTSWidget(w) tts.show_message.connect(sb.showMessage) tts.show_status.connect(la.setText) w.setCentralWidget(tts) w.show() app.exec() tts.dispatch_on_main_thread_signal.disconnect() tts.mark_changed.disconnect() tts.tts.shutdown()
prints('The Qt WebEngine Render process crashed too often') else: self._last_reload_at = monotonic() self.render_process_restarted.emit() prints('Restarting Qt WebEngine') if __name__ == '__main__': from calibre.gui2 import Application from calibre.gui2.tweak_book.preview import WebPage from qt.core import QMainWindow app = Application([]) view = QWebEngineView() page = WebPage(view) view.setPage(page) w = QMainWindow() w.setCentralWidget(view) class Test(Bridge): s1 = from_js(object) j1 = to_js() t = Test(view.page()) t.s1.connect(print) w.show() view.setHtml(''' <p>hello</p> ''') app.exec() del t del page del app
def __init__(self): QMainWindow.__init__(self) f = factory() self.setMinimumWidth(400) self.setWindowTitle('Demo of DBUS menu exporter and systray integration') self.statusBar().showMessage(self.windowTitle()) w = QWidget(self) self.setCentralWidget(w) self.l = l = QVBoxLayout(w) mb = self.menu_bar = f.create_window_menubar(self) m = self.menu_one = mb.addMenu('&One') m.aboutToShow.connect(self.about_to_show_one) s = self.style() self.q = q = QAction('&Quit', self) q.setShortcut(QKeySequence.StandardKey.Quit), q.setIcon(s.standardIcon(QStyle.StandardPixmap.SP_DialogCancelButton)) q.triggered.connect(QApplication.quit) self.addAction(q) QApplication.instance().setWindowIcon(s.standardIcon(QStyle.StandardPixmap.SP_ComputerIcon)) for i, icon in zip(range(3), map(s.standardIcon, ( QStyle.StandardPixmap.SP_DialogOkButton, QStyle.StandardPixmap.SP_DialogHelpButton, QStyle.StandardPixmap.SP_ArrowUp))): ac = m.addAction('One - &%d' % (i + 1)) ac.setShortcut(QKeySequence(Qt.Modifier.CTRL | (Qt.Key.Key_1 + i), Qt.Modifier.SHIFT | (Qt.Key.Key_1 + i))) ac.setIcon(icon) m.addSeparator() self.menu_two = m2 = m.addMenu('A &submenu') for i, icon in zip(range(3), map(s.standardIcon, ( QStyle.StandardPixmap.SP_DialogOkButton, QStyle.StandardPixmap.SP_DialogCancelButton, QStyle.StandardPixmap.SP_ArrowUp))): ac = m2.addAction('Two - &%d' % (i + 1)) ac.setShortcut(QKeySequence(Qt.Modifier.CTRL | (Qt.Key.Key_A + i))) ac.setIcon(icon) m2.aboutToShow.connect(self.about_to_show_two) m2.addSeparator(), m.addSeparator() m.addAction('&Disabled action').setEnabled(False) ac = m.addAction('A checkable action') make_checkable(ac) g = QActionGroup(self) make_checkable(g.addAction(m.addAction('Exclusive 1'))) make_checkable(g.addAction(m.addAction('Exclusive 2')), False) m.addSeparator() self.about_to_show_sentinel = m.addAction('This action\'s text should change before menu is shown') self.as_count = 0 for ac in mb.findChildren(QAction): ac.triggered.connect(self.action_triggered) for m in mb.findChildren(QMenu): m.aboutToShow.connect(self.about_to_show) self.systray = f.create_system_tray_icon(parent=self, title=self.windowTitle()) if self.systray is not None: self.systray.activated.connect(self.tray_activated) self.sm = m = QMenu() m.addAction('Show/hide main window').triggered.connect(self.tray_activated) m.addAction(q) self.systray.setContextMenu(m) self.update_tray_toggle_action() self.cib = b = QPushButton('Change system tray icon') l.addWidget(b), b.clicked.connect(self.change_icon) self.hib = b = QPushButton('Show/Hide system tray icon') l.addWidget(b), b.clicked.connect(self.systray.toggle) self.update_tooltip_timer = t = QTimer(self) t.setInterval(1000), t.timeout.connect(self.update_tooltip), t.start() self.ab = b = QPushButton('Add a new menu') b.clicked.connect(self.add_menu), l.addWidget(b) self.rb = b = QPushButton('Remove a created menu') b.clicked.connect(self.remove_menu), l.addWidget(b) self.sd = b = QPushButton('Show modal dialog') b.clicked.connect(self.show_dialog), l.addWidget(b) print('DBUS connection unique name:', f.bus.get_unique_name())
def showEvent(self, ev): if not ev.spontaneous(): self.update_tray_toggle_action() return QMainWindow.showEvent(self, ev)
w.resize(cf.size()+QSize(30, 20)) model = DummyImageList() cf.setImages(model) cf.setCurrentSlide(39000) w.setCentralWidget(cf) w.show() cf.setFocus(Qt.FocusReason.OtherFocusReason) sys.exit(app.exec()) def main(args=sys.argv): return 0 if __name__ == '__main__': from qt.core import QMainWindow app = QApplication([]) w = QMainWindow() cf = CoverFlow() w.resize(cf.size()+QSize(30, 20)) path = sys.argv[1] model = FileSystemImages(sys.argv[1]) cf.currentChanged[int].connect(model.currentChanged) cf.setImages(model) w.setCentralWidget(cf) w.show() cf.setFocus(Qt.FocusReason.OtherFocusReason) sys.exit(app.exec())
def __init__(self, opts, parent=None, disable_automatic_gc=False): QMainWindow.__init__(self, parent) if disable_automatic_gc: self._gc = GarbageCollector(self, debug=False)