PySide6

Форк
0
/
10_arguments_open.py 
58 строк · 3.7 Кб
1
"""
2
Пример открытия файла, название которого передается в качестве аргумента командной строки
3
Данный файл нужно запустить с аргументами командной строки
4
python3 9_arguments.py arg1 arg2 arg3
5
"""
6
import sys
7

8
from PySide6.QtWidgets import QApplication, QMainWindow, QTextEdit, QVBoxLayout, QWidget
9

10
"""
11
Модуль sys нужен для доступа к аргументам командной строки. Если использование аргументов
12
командной строки не предполагается, то импорт можно не выполнять. При этом, при создании
13
приложения в класс QApplication([]) в качестве аргумента передается пустой список.
14
Импорт из модуля PySide6.QtWidgets класса для управления приложением QApplication и
15
класса основного окна QMainWindow, класса виджета многострочного редактируемого текста QTextEdit,
16
класса слоев с вертикальной организацией виджетов QVBoxLayout.
17
"""
18

19

20
class MainWindow(QMainWindow):
21
    """
22
    Подкласс главного окна приложения от супер класса главных окон
23
    """
24

25
    def __init__(self):
26
        """
27
        Конструктор главного окна приложения
28
        """
29
        QMainWindow.__init__(self)  # явный вызов конструктора родительского класса
30
        self.editor = QTextEdit()  # создание экземпляра виджета многострочного текстового поля
31
        filename = sys.argv[-1]  # запись в переменную имени файла
32
        self.open_file(filename)  # вызов метода для открытия файла и передачи его содержимого в текстовое поле
33
        self.setCentralWidget(self.editor)  # размещение контейнера в главном окне приложения
34
        self.setWindowTitle('Text viewer')  # присвоение имени главному окну приложения
35

36
    def open_file(self, fn: str) -> None:
37
        """
38
        Метод открытия файлов
39
        """
40
        with open(fn, 'r') as f:  # открытие файла на чтение
41
            text = f.read()  # чтение строк из файла
42
        self.editor.setPlainText(text)  # размещение текста в текстовом поле
43

44

45
def main() -> None:
46
    """
47
    Функция запуска кода верхнего уроня приложения
48
    :return: None
49
    """
50
    app = QApplication(sys.argv)  # создание экземпляра основного цикла главного окна приложения
51
    window = MainWindow()  # создание экземпляра главного окна приложения
52
    window.show()  # вызов метода вывода окна приложения (по умолчанию окно спрятано)
53
    app.exec()  # запуска основного цикла главного окна приложения
54

55

56
if __name__ == '__main__':  # данное условие нужно для предотвращения запуска кода верхнего уровня при
57
    # импортировании данного файла как модуля
58
    main()  # вызов функции запуска кода верхнего уровня приложения
59

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.