lang/pysideex/ BarebonesApplication1
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
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtNetwork import *
Absolute Minimal Example
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
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
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
.
#!/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.
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
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.
#!/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()