diff options
Diffstat (limited to 'examples/widgets/linguist/main.py')
-rw-r--r-- | examples/widgets/linguist/main.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/examples/widgets/linguist/main.py b/examples/widgets/linguist/main.py new file mode 100644 index 000000000..e4212e801 --- /dev/null +++ b/examples/widgets/linguist/main.py @@ -0,0 +1,55 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import (QItemSelection, QLibraryInfo, QLocale, QTranslator, + Slot) +from PySide6.QtWidgets import (QAbstractItemView, QApplication, QListWidget, + QMainWindow) + + +import linguist_rc # noqa: F401 + + +class Window(QMainWindow): + def __init__(self): + super().__init__() + file_menu = self.menuBar().addMenu(self.tr("&File")) + quit_action = file_menu.addAction(self.tr("Quit")) + quit_action.setShortcut(self.tr("CTRL+Q")) + quit_action.triggered.connect(self.close) + help_menu = self.menuBar().addMenu(self.tr("&Help")) + about_qt_action = help_menu.addAction(self.tr("About Qt")) + about_qt_action.triggered.connect(qApp.aboutQt) # noqa: F821 + + self._list_widget = QListWidget() + self._list_widget.setSelectionMode(QAbstractItemView.MultiSelection) + self._list_widget.selectionModel().selectionChanged.connect(self.selection_changed) + self._list_widget.addItem("C++") + self._list_widget.addItem("Java") + self._list_widget.addItem("Python") + self.setCentralWidget(self._list_widget) + + @Slot(QItemSelection, QItemSelection) + def selection_changed(self, selected, deselected): + count = len(self._list_widget.selectionModel().selectedRows()) + message = self.tr("%n language(s) selected", "", count) + self.statusBar().showMessage(message) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + path = QLibraryInfo.path(QLibraryInfo.TranslationsPath) + translator = QTranslator(app) + if translator.load(QLocale.system(), 'qtbase', '_', path): + app.installTranslator(translator) + translator = QTranslator(app) + path = ':/translations' + if translator.load(QLocale.system(), 'example', '_', path): + app.installTranslator(translator) + + window = Window() + window.show() + sys.exit(app.exec()) |