Coverage for C:\leo.repo\leo-editor\leo\core\leoQt6.py : 76%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#@+leo-ver=5-thin
2#@+node:ekr.20210407011013.1: * @file leoQt6.py
3"""
4Import wrapper for pyQt6.
6For Qt6, plugins are responsible for loading all optional modules.
8"""
9# pylint: disable=unused-import,no-name-in-module,c-extension-no-member,import-error
10#
11# Required imports
12from PyQt6 import QtCore, QtGui, QtWidgets
13from PyQt6.QtCore import Qt, QUrl
14from PyQt6.QtGui import QAction, QActionGroup, QCloseEvent
15from PyQt6.QtCore import pyqtSignal as Signal
16#
17# For pyflakes.
18assert QtCore and QtGui and QtWidgets
19assert QAction and QActionGroup
20assert QCloseEvent
21assert Qt and QUrl and Signal
22#
23# Standard abbreviations.
24QtConst = Qt
25qt_version = QtCore.QT_VERSION_STR
26#
27# Optional imports: #2005
28# Must import this before creating the GUI
29has_WebEngineWidgets = False
30try:
31 from PyQt6 import QtWebEngineWidgets
32 assert QtWebEngineWidgets
33 has_WebEngineWidgets = True
34except ImportError:
35 print('No Qt6 QtWebEngineWidgets')
37try:
38 from PyQt6 import QtPrintSupport as printsupport
39except Exception:
40 printsupport = None
42try:
43 from PyQt6 import Qsci
44except ImportError:
45 Qsci = None
46try:
47 import PyQt6.QtSvg as QtSvg
48except ImportError:
49 QtSvg = None
50try:
51 from PyQt6 import uic
52except ImportError:
53 uic = None
54#
55# #2005: Do not import these by default. All of these *do* work.
56if 0:
57 try:
58 from PyQt6 import QtDesigner
59 except Exception:
60 QtDesigner = None
61 try:
62 from PyQt6 import QtOpenGL
63 except Exception:
64 QtOpenGL = None
65 try:
66 from PyQt6 import QtMultimedia
67 except ImportError:
68 QtMultimedia = None
69 try:
70 from PyQt6 import QtNetwork
71 except Exception:
72 QtNetwork = None
73#
74# Enumerations, with (sheesh) variable spellings.
75try:
76 # New spellings (6.1+): mostly singular.
77 Alignment = QtCore.Qt.AlignmentFlag
78 ControlType = QtWidgets.QSizePolicy.ControlType
79 DropAction = QtCore.Qt.DropAction
80 ItemFlag = QtCore.Qt.ItemFlag
81 KeyboardModifier = QtCore.Qt.KeyboardModifier
82 Modifier = QtCore.Qt.Modifier
83 MouseButton = QtCore.Qt.MouseButton
84 Orientation = QtCore.Qt.Orientation
85 StandardButton = QtWidgets.QDialogButtonBox.StandardButton
86 TextInteractionFlag = QtCore.Qt.TextInteractionFlag
87 ToolBarArea = QtCore.Qt.ToolBarArea
88 WidgetAttribute = QtCore.Qt.WidgetAttribute # #2347
89 WindowType = QtCore.Qt.WindowType
90 WindowState = QtCore.Qt.WindowState
91except AttributeError:
92 # Old spellings (6.0): mostly plural.
93 Alignment = QtCore.Qt.Alignment # type:ignore
94 ControlType = QtWidgets.QSizePolicy.ControlTypes # type:ignore
95 DropAction = QtCore.Qt.DropActions # type:ignore
96 ItemFlag = QtCore.Qt.ItemFlags # type:ignore
97 KeyboardModifier = QtCore.Qt.KeyboardModifiers # type:ignore
98 Modifier = QtCore.Qt.Modifiers # type:ignore
99 MouseButton = QtCore.Qt.MouseButtons # type:ignore
100 Orientation = QtCore.Qt.Orientations # type:ignore
101 StandardButton = QtWidgets.QDialog.StandardButtons # type:ignore
102 TextInteractionFlag = QtCore.Qt.TextInteractionFlags # type:ignore
103 ToolBarArea = QtCore.Qt.ToolBarAreas # type:ignore
104 WindowType = QtCore.Qt.WindowFlags # type:ignore
105 WindowState = QtCore.Qt.WindowStates # type:ignore
106#
107# Other enums.
108ButtonRole = QtWidgets.QMessageBox.ButtonRole
109ContextMenuPolicy = QtCore.Qt.ContextMenuPolicy
110DialogCode = QtWidgets.QDialog.DialogCode
111EndEditHint = QtWidgets.QAbstractItemDelegate.EndEditHint
112FocusPolicy = QtCore.Qt.FocusPolicy
113FocusReason = QtCore.Qt.FocusReason
114Format = QtGui.QImage.Format
115GlobalColor = QtCore.Qt.GlobalColor
116Icon = QtWidgets.QMessageBox.Icon
117Information = QtWidgets.QMessageBox.Icon.Information
118ItemDataRole = QtCore.Qt.ItemDataRole # 2347
119Key = QtCore.Qt.Key
120MoveMode = QtGui.QTextCursor.MoveMode
121MoveOperation = QtGui.QTextCursor.MoveOperation
122Policy = QtWidgets.QSizePolicy.Policy
123ScrollBarPolicy = QtCore.Qt.ScrollBarPolicy
124SelectionBehavior = QtWidgets.QAbstractItemView.SelectionBehavior
125SelectionMode = QtWidgets.QAbstractItemView.SelectionMode
126Shadow = QtWidgets.QFrame.Shadow
127Shape = QtWidgets.QFrame.Shape
128SizeAdjustPolicy = QtWidgets.QComboBox.SizeAdjustPolicy
129SliderAction = QtWidgets.QAbstractSlider.SliderAction
130StandardPixmap = QtWidgets.QStyle.StandardPixmap
131Style = QtGui.QFont.Style
132TextOption = QtGui.QTextOption
133Type = QtCore.QEvent.Type
134UnderlineStyle = QtGui.QTextCharFormat.UnderlineStyle
135Weight = QtGui.QFont.Weight
136WrapMode = QtGui.QTextOption.WrapMode
137#@-leo