In order to get an empty application up, we need to import a few class from the Qt modules. Here we'll import far more than we need to so that we can see the various options. It makes sense, when experimenting, to `from QtGui import *` and so on. ## Wildcard Import ```python from PySide6.QtWidgets import * from PySide6.QtCore import * from PySide6.QtGui import * from PySide6.QtNetwork import * ``` ## Absolute Minimal Example ```python import sys from PySide6.QtCore import * from PySide6.QtGui import * from PySide6.QtWidgets import * from PySide6.QtNetwork import * app = QApplication(sys.argv) w = QMainWindow() w.show() sys.exit(app.exec()) ``` ## One Slider ```python import sys from PySide6.QtCore import * from PySide6.QtGui import * from PySide6.QtWidgets import * from PySide6.QtNetwork import * app = QApplication(sys.argv) s = QSlider() w = QMainWindow() w.setCentralWidget(s) w.show() sys.exit(app.exec()) ``` ## Eight sliders in a QHboxLayout ```python import sys from PySide6.QtCore import * from PySide6.QtGui import * from PySide6.QtWidgets import * from PySide6.QtNetwork import * app = QApplication(sys.argv) win = QMainWindow() w = QWidget() h = QHBoxLayout() w.setLayout(h) win.setCentralWidget(w) win.resize(640,480) for i in range(8): s = QSlider() h.addWidget(s) win.show() sys.exit(app.exec()) ``` ## Stub The following is a stub which loads whatever is in `mainwidget.py`. ```python #!/usr/bin/env python3 import sys from PySide6.QtCore import QCoreApplication, Qt from PySide6.QtWidgets import QApplication from mainwidget import MainWidget def main(): app = QApplication() main = MainWidget() main.show() sys.exit(app.exec()) if __name__ == '__main__': main() ``` ## Example Import This is taken from the painter example. ```python from PySide6.QtWidgets import ( QWidget, QMainWindow, QApplication, ) from PySide6.QtCore import ( QPoint, QRect, Qt, QDir, Slot, QTimer, QStandardPaths, ) from PySide6.QtGui import ( QMouseEvent, QPaintEvent, QPen, QBrush, QPainter, QPainterPath, QColor, QPixmap, ) ``` ## Trivial text editor ```python import sys from PySide6.QtWidgets import (QApplication, QMainWindow, QTextEdit) class MainWindow(QMainWindow): def __init__(self): super().__init__() self._text_edit = QTextEdit() self.setCentralWidget(self._text_edit) if __name__ == '__main__': app = QApplication(sys.argv) main_win = MainWindow() main_win.show() sys.exit(app.exec()) ``` ## Another Trivial Text Editor This uses a `QGridLayout` even though none is necessary. ```python #!/usr/bin/env python3 import sys from PySide6.QtWidgets import * from PySide6.QtGui import QIcon from PySide6.QtCore import QCoreApplication, Qt, qVersion def main(): QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling) QCoreApplication.setAttribute(Qt.AA_UseHighDpiPixmaps) app = QApplication() gallery = MainWidget() gallery.show() sys.exit(app.exec()) class MainWidget(QDialog): def __init__(self): super().__init__() self.setWindowIcon(QIcon(':/qt-project.org/logos/pysidelogo.png')) self.resize(640,480) main_layout = QGridLayout(self) plain_textedit = QPlainTextEdit("Events\n") self.plain_textedit = plain_textedit main_layout.addWidget(plain_textedit,0,0) qv = qVersion() self.setWindowTitle(f"Events:Qt {qv}") if __name__ == "__main__": main() ```