or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

compatibility.mdcore-package.mddevelopment-tools.mdindex.mdqt-modules.mduic-module.md

qt-modules.mddocs/

0

# Qt Module Wrappers

1

2

Unified access to all major Qt modules that automatically import from the appropriate underlying binding. These modules provide the complete Qt API through a consistent interface regardless of which Qt binding (PyQt5/6, PySide2/6) is installed.

3

4

## Capabilities

5

6

### Core Qt Modules

7

8

Essential Qt modules for application development, GUI, and system functionality.

9

10

```python { .api }

11

import qtpy.QtCore

12

"""Core Qt functionality - signals, slots, events, threading, timers, etc."""

13

14

import qtpy.QtGui

15

"""GUI-related classes - painting, events, images, fonts, etc."""

16

17

import qtpy.QtWidgets

18

"""Widget classes for desktop applications"""

19

20

import qtpy.QtNetwork

21

"""Network programming classes"""

22

23

import qtpy.QtSql

24

"""Database integration classes"""

25

26

import qtpy.QtTest

27

"""Unit testing framework for Qt applications"""

28

29

import qtpy.QtConcurrent

30

"""High-level multithreading APIs"""

31

32

import qtpy.QtDBus

33

"""D-Bus IPC support (Unix/Linux systems)"""

34

35

import qtpy.QtHelp

36

"""Help system integration"""

37

38

import qtpy.QtXml

39

"""XML processing classes"""

40

41

import qtpy.QtXmlPatterns

42

"""XPath and XQuery support"""

43

```

44

45

Usage example:

46

47

```python

48

from qtpy.QtCore import QTimer, Signal, Slot

49

from qtpy.QtWidgets import QApplication, QWidget, QPushButton

50

from qtpy.QtGui import QPainter, QFont

51

from qtpy.QtNetwork import QNetworkAccessManager, QNetworkRequest

52

53

# All modules work consistently regardless of underlying binding

54

timer = QTimer()

55

app = QApplication([])

56

widget = QWidget()

57

```

58

59

### Graphics and Multimedia Modules

60

61

Modules for graphics rendering, multimedia, printing, and visualization.

62

63

```python { .api }

64

import qtpy.QtOpenGL

65

"""OpenGL integration classes"""

66

67

import qtpy.QtOpenGLWidgets

68

"""OpenGL widget classes (Qt6)"""

69

70

import qtpy.QtSvg

71

"""SVG rendering support"""

72

73

import qtpy.QtSvgWidgets

74

"""SVG widget classes"""

75

76

import qtpy.QtPrintSupport

77

"""Printing support classes"""

78

79

import qtpy.QtMultimedia

80

"""Multimedia classes - audio, video, camera"""

81

82

import qtpy.QtMultimediaWidgets

83

"""Multimedia widget classes"""

84

85

import qtpy.Qt3DCore

86

"""3D graphics core functionality"""

87

88

import qtpy.Qt3DRender

89

"""3D rendering pipeline"""

90

91

import qtpy.Qt3DInput

92

"""3D input handling"""

93

94

import qtpy.Qt3DLogic

95

"""3D logic components"""

96

97

import qtpy.Qt3DExtras

98

"""3D convenience classes"""

99

100

import qtpy.Qt3DAnimation

101

"""3D animation framework"""

102

103

import qtpy.QtCharts

104

"""Chart and graph widgets"""

105

106

import qtpy.QtDataVisualization

107

"""3D data visualization"""

108

```

109

110

Usage example:

111

112

```python

113

from qtpy.QtOpenGL import QOpenGLWidget

114

from qtpy.QtMultimedia import QMediaPlayer

115

from qtpy.QtCharts import QChart, QChartView

116

117

# Graphics and multimedia functionality

118

opengl_widget = QOpenGLWidget()

119

media_player = QMediaPlayer()

120

chart = QChart()

121

```

122

123

### Web and Quick Modules

124

125

Web browser integration and QML/Quick UI framework modules.

126

127

```python { .api }

128

import qtpy.QtWebEngine

129

"""Web browser engine integration"""

130

131

import qtpy.QtWebEngineCore

132

"""Web engine core functionality"""

133

134

import qtpy.QtWebEngineWidgets

135

"""Web engine widget classes"""

136

137

import qtpy.QtWebEngineQuick

138

"""Web engine QML integration"""

139

140

import qtpy.QtWebChannel

141

"""Web channel communication"""

142

143

import qtpy.QtWebSockets

144

"""WebSocket protocol support"""

145

146

import qtpy.QtQml

147

"""QML engine and runtime"""

148

149

import qtpy.QtQuick

150

"""Quick/QML UI framework"""

151

152

import qtpy.QtQuick3D

153

"""3D content for Qt Quick"""

154

155

import qtpy.QtQuickControls2

156

"""Quick Controls 2 components"""

157

158

import qtpy.QtQuickWidgets

159

"""Quick widget integration"""

160

```

161

162

Usage example:

163

164

```python

165

from qtpy.QtWebEngineWidgets import QWebEngineView

166

from qtpy.QtQml import QQmlApplicationEngine

167

from qtpy.QtQuickWidgets import QQuickWidget

168

169

# Web and QML functionality

170

web_view = QWebEngineView()

171

qml_engine = QQmlApplicationEngine()

172

quick_widget = QQuickWidget()

173

```

174

175

### Platform and Hardware Modules

176

177

Hardware interface and platform-specific functionality modules.

178

179

```python { .api }

180

import qtpy.QtBluetooth

181

"""Bluetooth connectivity"""

182

183

import qtpy.QtNfc

184

"""Near Field Communication"""

185

186

import qtpy.QtSerialPort

187

"""Serial port communication"""

188

189

import qtpy.QtSensors

190

"""Hardware sensor access"""

191

192

import qtpy.QtPositioning

193

"""Positioning and location services"""

194

195

import qtpy.QtLocation

196

"""Maps and location-based services"""

197

198

import qtpy.QtNetworkAuth

199

"""Network authentication"""

200

201

import qtpy.QtTextToSpeech

202

"""Text-to-speech functionality"""

203

```

204

205

Usage example:

206

207

```python

208

from qtpy.QtSerialPort import QSerialPort

209

from qtpy.QtBluetooth import QBluetoothDeviceDiscoveryAgent

210

from qtpy.QtSensors import QAccelerometer

211

212

# Hardware interface functionality

213

serial_port = QSerialPort()

214

bluetooth_discovery = QBluetoothDeviceDiscoveryAgent()

215

accelerometer = QAccelerometer()

216

```

217

218

### Platform-Specific Modules

219

220

Operating system specific functionality and integrations.

221

222

```python { .api }

223

import qtpy.QtMacExtras

224

"""macOS-specific functionality"""

225

226

import qtpy.QtWinExtras

227

"""Windows-specific functionality"""

228

229

import qtpy.QtX11Extras

230

"""X11-specific functionality"""

231

```

232

233

Usage example:

234

235

```python

236

try:

237

from qtpy.QtMacExtras import QMacToolBar

238

# macOS specific code

239

except ImportError:

240

# Handle platform not supported

241

pass

242

```

243

244

### Development and Tool Modules

245

246

Modules for development tools, state machines, and inter-process communication.

247

248

```python { .api }

249

import qtpy.QtDesigner

250

"""Qt Designer integration"""

251

252

import qtpy.QtUiTools

253

"""UI form loading at runtime"""

254

255

import qtpy.QtStateMachine

256

"""State machine framework"""

257

258

import qtpy.QtScxml

259

"""SCXML state machine support"""

260

261

import qtpy.QtRemoteObjects

262

"""Inter-process object sharing"""

263

264

import qtpy.QtAxContainer

265

"""ActiveX container support (Windows)"""

266

```

267

268

### Document and Third-party Modules

269

270

PDF handling and third-party widget integration.

271

272

```python { .api }

273

import qtpy.QtPdf

274

"""PDF document handling"""

275

276

import qtpy.QtPdfWidgets

277

"""PDF widget classes"""

278

279

import qtpy.Qsci

280

"""QScintilla text editor integration"""

281

282

import qtpy.QtPurchasing

283

"""In-app purchase functionality"""

284

```

285

286

### Low-level Binding Modules

287

288

Access to underlying binding utilities for advanced use cases.

289

290

```python { .api }

291

import qtpy.sip

292

"""SIP binding utilities (for PyQt)"""

293

294

import qtpy.shiboken

295

"""Shiboken binding utilities (for PySide)"""

296

```

297

298

## Module Import Patterns

299

300

All Qt modules follow consistent import patterns regardless of the underlying binding:

301

302

```python

303

# Import entire module

304

from qtpy import QtCore, QtWidgets, QtGui

305

306

# Import specific classes

307

from qtpy.QtCore import QObject, QTimer, Signal, Slot

308

from qtpy.QtWidgets import QApplication, QWidget, QVBoxLayout

309

from qtpy.QtGui import QPixmap, QIcon, QFont

310

311

# Access module constants and enums

312

from qtpy.QtCore import Qt

313

print(Qt.AlignCenter) # Works across all bindings

314

315

# All imports work identically regardless of PyQt5/6 or PySide2/6

316

```

317

318

## Signal and Slot Compatibility

319

320

QtPy normalizes signal and slot syntax across bindings:

321

322

```python

323

from qtpy.QtCore import Signal, Slot, QObject

324

325

class MyClass(QObject):

326

# Signal definition (consistent across bindings)

327

my_signal = Signal(int, str)

328

329

@Slot()

330

def my_slot(self):

331

"""Slot definition (consistent across bindings)"""

332

pass

333

334

# Property definition

335

from qtpy.QtCore import Property

336

337

class MyWidget(QWidget):

338

def __init__(self):

339

super().__init__()

340

self._value = 0

341

342

@Property(int)

343

def value(self):

344

return self._value

345

```

346

347

## Qt Enum Access

348

349

QtPy handles enum access differences between Qt bindings:

350

351

```python

352

from qtpy.QtCore import Qt

353

from qtpy.QtWidgets import QWidget

354

355

# Enum access works consistently

356

widget = QWidget()

357

widget.setAlignment(Qt.AlignCenter)

358

widget.setWindowFlag(Qt.WindowStaysOnTopHint)

359

360

# Works with both scoped (Qt6) and unscoped (Qt5) enum access

361

```