2
Пример чтения аргументов командной строки.
3
Данный файл нужно запустить с аргументами командной строки
4
python3 9_arguments.py arg1 arg2 arg3
8
from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget
11
Модуль sys нужен для доступа к аргументам командной строки. Если использование аргументов
12
командной строки не предполагается, то импорт можно не выполнять. При этом, при создании
13
приложения в класс QApplication([]) в качестве аргумента передается пустой список.
14
Импорт из модуля PySide6.QtWidgets класса для управления приложением QApplication и
15
класса основного окна QMainWindow, класса виджета ярлыка QLabel, класса слоев с вертикальной
16
организацией виджетов QVBoxLayout.
20
class MainWindow(QMainWindow):
22
Подкласс главного окна приложения от супер класса главных окон
27
Конструктор главного окна приложения
29
QMainWindow.__init__(self) # явный вызов конструктора родительского класса
30
container = QWidget() # создание контейнера для слоев
31
layout = QVBoxLayout() # создание экземпляра слоя с вертикальным расположение виджетов
32
for arg in sys.argv: # цикла обхода списка аргументов (аргументы являются строками)
33
label = QLabel(arg) # создание ярлыка с текстом
34
layout.addWidget(label) # размещение ярлыка на слое для виджетов
35
container.setLayout(layout) # размещение слоя с виджетами в контейнере
36
self.setCentralWidget(container) # размещение контейнера в главном окне приложения
37
self.setWindowTitle('Arguments') # присвоение имени главному окну приложения
42
Функция запуска кода верхнего уроня приложения
45
app = QApplication(sys.argv) # создание экземпляра основного цикла главного окна приложения
46
window = MainWindow() # создание экземпляра главного окна приложения
47
window.show() # вызов метода вывода окна приложения (по умолчанию окно спрятано)
48
app.exec() # запуска основного цикла главного окна приложения
51
if __name__ == '__main__': # данное условие нужно для предотвращения запуска кода верхнего уровня при
52
# импортировании данного файла как модуля
53
main() # вызов функции запуска кода верхнего уровня приложения