def _SetupQt( self ): self.locale = QC.QLocale() # Very important to init this here and keep it non garbage collected CC.GlobalPixmaps() self.frame_icon_pixmap = QG.QPixmap( os.path.join( HC.STATIC_DIR, 'hydrus_32_non-transparent.png' ) )
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.lineEdit().setValidator(QtGui.QDoubleValidator(self)) self.setDecimals(7) self.setRange(-1e50, 1e50) qlocale = QtCore.QLocale('C') qlocale.setNumberOptions(QtCore.QLocale.OmitGroupSeparator) self.setLocale(qlocale)
def format_qt_info(): qlocale = QtCore.QLocale() supported_image_formats = [ fmt.data().decode('utf-8') for fmt in QtGui.QImageReader.supportedImageFormats() ] qt_info = [ 'Qt system locale: %s\n' % qlocale.system().name(), 'Qt locale name: %s\n' % qlocale.name(), 'Qt locale country: %s\n' % qlocale.countryToString(qlocale.country()), 'Qt locale language: %s\n' % qlocale.languageToString(qlocale.language()), 'Qt locale decimal point: "%s"\n' % qlocale.decimalPoint(), 'Qt UI languages: %s\n' % qlocale.uiLanguages(), 'Qt supported image formats: %s\n' % ', '.join(supported_image_formats), ] return qt_info
def _init(self, parent=None): # Save provided parent self.parent = parent # Initialize config dialog self.config_dialog = ConfigDialog(self, parent=parent) # Connect signals self.config_dialog.applying.connect(self.apply_config) self.config_dialog.discarding.connect(self.discard_config) self.config_dialog.resetting.connect(self.reset_config) # Read in the configuration file self.read_config() # Add core config pages self._add_config_pages() # Make sure that the locale of the parent and dialog are set properly self.parent.setLocale(QC.QLocale())
def set_locale(self, translator): """" desc: Sets the application language. arguments: translator: desc: For some reason, the QTranslator object needs to be created in the main function. Therefore it is passed as an argument. type: QTranslator """ # If a locale has been explicitly specified, use it; otherwise, use the # system default locale. locale = cfg.locale if cfg.locale != u'' else \ QtCore.QLocale().system().name() # If a locale has been specified on the command line, it overrides. for i, argv in enumerate(sys.argv[:-1]): if argv == '--locale': locale = safe_decode(sys.argv[i+1]) qm = libopensesame.misc.resource( os.path.join(u'locale', locale) + u'.qm') # Say that we're trying to load de_AT, and it is not found, then we'll # try de_DE as fallback. if qm is None: l = locale.split(u'_') if l: _locale = l[0] + u'_' + l[0].upper() qm = libopensesame.misc.resource( os.path.join(u'locale', _locale + u'.qm')) if qm is not None: locale = _locale self._locale = locale translator.load(qm) QtWidgets.QApplication.installTranslator(translator)
### Grab existing QApplication # Only one QApplication is allowed per process. This allows running inside # Qt-based IDEs like Spyder. existing = QtWidgets.qApp.instance() if existing: app = existing else: app = QtWidgets.QApplication(sys.argv) ### Parsing command-line arguments/options parser = argparse.ArgumentParser() parser.add_argument("--lang", nargs="?", help="Language to run (override system language)") try: args = parser.parse_args() except: parser.print_help() sys.exit(-1) lang = args.lang or QtCore.QLocale.system().name() ### Setup internationalization/localization (i18n/l10n) translator = QtCore.QTranslator() translator.load(frozen(osp.join("data", "main_{}.qm".format(lang)))) QtWidgets.qApp.installTranslator(translator) QtCore.QLocale().setDefault(QtCore.QLocale(lang)) ### Create main window and run wnd = WndMain() if existing: self = wnd # Makes it easier to debug with Spyder's F9 inside a class else: sys.exit(app.exec_())
# %% IMPORTS # Built-in imports from os import path # Package imports from qtpy import QtCore as QC, QtWidgets as QW import pytest # PRISM imports from prism import Pipeline from prism._gui.widgets.main import MainViewerWindow from prism.modellink.tests.modellink import GaussianLink3D # Set the default Locale to English QC.QLocale.setDefault(QC.QLocale(31)) # %% GLOBALS DIR_PATH = path.abspath(path.dirname(__file__)) # Path to tests directory # %% HELPER FUNCTIONS @pytest.fixture(scope='session') def pipe_GUI(tmpdir_factory): # Get paths to files model_data = path.join(DIR_PATH, '../../tests/data/data_gaussian_single.txt') model_parameters_3D = path.join( DIR_PATH, '../../tests/data/parameters_gaussian_3D.txt') # Create PolyLink object
def apply_config(self, config_dict): # Create new QLocale locale = QC.QLocale(config_dict['language']) # Set this as the new default QC.QLocale.setDefault(locale)
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(298, 702) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth()) Form.setSizePolicy(sizePolicy) Form.setMinimumSize(QtCore.QSize(0, 0)) Form.setBaseSize(QtCore.QSize(200, 300)) self.gridLayout_3 = QtWidgets.QGridLayout(Form) self.gridLayout_3.setContentsMargins(0, 0, 0, 0) self.gridLayout_3.setSpacing(6) self.gridLayout_3.setObjectName("gridLayout_3") self.splitter = QtWidgets.QSplitter(Form) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setObjectName("splitter") self.verticalLayoutWidget = QtWidgets.QWidget(self.splitter) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setSizeConstraint( QtWidgets.QLayout.SetDefaultConstraint) self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName("horizontalLayout") self.groupBox_main = QtWidgets.QGroupBox(self.verticalLayoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_main.sizePolicy().hasHeightForWidth()) self.groupBox_main.setSizePolicy(sizePolicy) self.groupBox_main.setMinimumSize(QtCore.QSize(0, 0)) self.groupBox_main.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.groupBox_main.setBaseSize(QtCore.QSize(0, 0)) self.groupBox_main.setTitle("") self.groupBox_main.setFlat(False) self.groupBox_main.setObjectName("groupBox_main") self.gridLayout_9 = QtWidgets.QGridLayout(self.groupBox_main) self.gridLayout_9.setContentsMargins(0, 0, 0, 0) self.gridLayout_9.setObjectName("gridLayout_9") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setSizeConstraint( QtWidgets.QLayout.SetDefaultConstraint) self.gridLayout_2.setObjectName("gridLayout_2") self.label_2 = QtWidgets.QLabel(self.groupBox_main) self.label_2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_2.setObjectName("label_2") self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1) self.Move_Done_LED = QLED(self.groupBox_main) self.Move_Done_LED.setObjectName("Move_Done_LED") self.gridLayout_2.addWidget(self.Move_Done_LED, 6, 1, 1, 1) self.IniStage_pb = QtWidgets.QPushButton(self.groupBox_main) self.IniStage_pb.setCheckable(True) self.IniStage_pb.setChecked(False) self.IniStage_pb.setObjectName("IniStage_pb") self.gridLayout_2.addWidget(self.IniStage_pb, 4, 0, 1, 1) self.Ini_state_LED = QLED(self.groupBox_main) self.Ini_state_LED.setObjectName("Ini_state_LED") self.gridLayout_2.addWidget(self.Ini_state_LED, 4, 1, 1, 1) self.Current_position_sb = QtWidgets.QDoubleSpinBox(self.groupBox_main) font = QtGui.QFont() font.setPointSize(20) self.Current_position_sb.setFont(font) self.Current_position_sb.setLocale( QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.Current_position_sb.setReadOnly(True) self.Current_position_sb.setButtonSymbols( QtWidgets.QAbstractSpinBox.NoButtons) self.Current_position_sb.setDecimals(6) self.Current_position_sb.setMinimum(-10000000.0) self.Current_position_sb.setMaximum(10000000.0) self.Current_position_sb.setObjectName("Current_position_sb") self.gridLayout_2.addWidget(self.Current_position_sb, 7, 0, 1, 2) self.Stage_type_combo = QtWidgets.QComboBox(self.groupBox_main) self.Stage_type_combo.setObjectName("Stage_type_combo") self.gridLayout_2.addWidget(self.Stage_type_combo, 2, 1, 1, 1) self.title_label = QtWidgets.QLabel(self.groupBox_main) font = QtGui.QFont() font.setFamily("Tahoma") font.setPointSize(14) font.setBold(True) font.setItalic(True) font.setWeight(75) self.title_label.setFont(font) self.title_label.setAlignment(QtCore.Qt.AlignCenter) self.title_label.setObjectName("title_label") self.gridLayout_2.addWidget(self.title_label, 0, 0, 1, 2) self.Quit_pb = QtWidgets.QPushButton(self.groupBox_main) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/close2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Quit_pb.setIcon(icon) self.Quit_pb.setObjectName("Quit_pb") self.gridLayout_2.addWidget(self.Quit_pb, 5, 0, 1, 2) self.label_4 = QtWidgets.QLabel(self.groupBox_main) self.label_4.setObjectName("label_4") self.gridLayout_2.addWidget(self.label_4, 6, 0, 1, 1) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.Abs_position_sb_bis = SpinBox(self.groupBox_main) self.Abs_position_sb_bis.setLocale( QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.Abs_position_sb_bis.setDecimals(6) self.Abs_position_sb_bis.setMinimum(-100000000.0) self.Abs_position_sb_bis.setMaximum(100000000.0) self.Abs_position_sb_bis.setObjectName("Abs_position_sb_bis") self.horizontalLayout_2.addWidget(self.Abs_position_sb_bis) self.Moveto_pb_bis = QtWidgets.QPushButton(self.groupBox_main) self.Moveto_pb_bis.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/go_to_1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Moveto_pb_bis.setIcon(icon1) self.Moveto_pb_bis.setObjectName("Moveto_pb_bis") self.horizontalLayout_2.addWidget(self.Moveto_pb_bis) self.Moveto_pb_bis_2 = QtWidgets.QPushButton(self.groupBox_main) self.Moveto_pb_bis_2.setText("") icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/go_to_2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Moveto_pb_bis_2.setIcon(icon2) self.Moveto_pb_bis_2.setObjectName("Moveto_pb_bis_2") self.horizontalLayout_2.addWidget(self.Moveto_pb_bis_2) self.fine_tuning_pb = QtWidgets.QPushButton(self.groupBox_main) self.fine_tuning_pb.setText("") icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Add_Step.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.fine_tuning_pb.setIcon(icon3) self.fine_tuning_pb.setCheckable(True) self.fine_tuning_pb.setObjectName("fine_tuning_pb") self.horizontalLayout_2.addWidget(self.fine_tuning_pb) self.parameters_pb = QtWidgets.QPushButton(self.groupBox_main) self.parameters_pb.setText("") icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Settings.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.parameters_pb.setIcon(icon4) self.parameters_pb.setCheckable(True) self.parameters_pb.setObjectName("parameters_pb") self.horizontalLayout_2.addWidget(self.parameters_pb) self.gridLayout_2.addLayout(self.horizontalLayout_2, 1, 0, 1, 2) self.gridLayout_9.addLayout(self.gridLayout_2, 0, 0, 1, 1) self.horizontalLayout.addWidget(self.groupBox_main) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.verticalLayout.addLayout(self.horizontalLayout) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.groupBox = QtWidgets.QGroupBox(self.verticalLayoutWidget) self.groupBox.setTitle("") self.groupBox.setFlat(False) self.groupBox.setObjectName("groupBox") self.gridLayout = QtWidgets.QGridLayout(self.groupBox) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.gridLayout_buttons = QtWidgets.QGridLayout() self.gridLayout_buttons.setContentsMargins(-1, 0, -1, -1) self.gridLayout_buttons.setObjectName("gridLayout_buttons") self.Move_Abs_pb = QtWidgets.QPushButton(self.groupBox) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Move.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Move_Abs_pb.setIcon(icon5) self.Move_Abs_pb.setObjectName("Move_Abs_pb") self.gridLayout_buttons.addWidget(self.Move_Abs_pb, 4, 1, 2, 1) self.label_3 = QtWidgets.QLabel(self.groupBox) self.label_3.setObjectName("label_3") self.gridLayout_buttons.addWidget(self.label_3, 7, 0, 1, 1) self.Move_Rel_minus_pb = QtWidgets.QPushButton(self.groupBox) icon6 = QtGui.QIcon() icon6.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/MoveDown.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Move_Rel_minus_pb.setIcon(icon6) self.Move_Rel_minus_pb.setObjectName("Move_Rel_minus_pb") self.gridLayout_buttons.addWidget(self.Move_Rel_minus_pb, 8, 1, 1, 1) self.Move_Rel_plus_pb = QtWidgets.QPushButton(self.groupBox) icon7 = QtGui.QIcon() icon7.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/MoveUp.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Move_Rel_plus_pb.setIcon(icon7) self.Move_Rel_plus_pb.setObjectName("Move_Rel_plus_pb") self.gridLayout_buttons.addWidget(self.Move_Rel_plus_pb, 7, 1, 1, 1) self.Stop_pb = QtWidgets.QPushButton(self.groupBox) icon8 = QtGui.QIcon() icon8.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/stop.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Stop_pb.setIcon(icon8) self.Stop_pb.setObjectName("Stop_pb") self.gridLayout_buttons.addWidget(self.Stop_pb, 11, 0, 1, 1) self.Abs_position_sb = SpinBox(self.groupBox) self.Abs_position_sb.setLocale( QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.Abs_position_sb.setDecimals(6) self.Abs_position_sb.setMinimum(-100000000.0) self.Abs_position_sb.setMaximum(100000000.0) self.Abs_position_sb.setObjectName("Abs_position_sb") self.gridLayout_buttons.addWidget(self.Abs_position_sb, 5, 0, 1, 1) self.Rel_position_sb = SpinBox(self.groupBox) self.Rel_position_sb.setLocale( QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.Rel_position_sb.setDecimals(6) self.Rel_position_sb.setMinimum(-10000000.0) self.Rel_position_sb.setMaximum(1000000.0) self.Rel_position_sb.setObjectName("Rel_position_sb") self.gridLayout_buttons.addWidget(self.Rel_position_sb, 8, 0, 1, 1) self.Get_position_pb = QtWidgets.QPushButton(self.groupBox) icon9 = QtGui.QIcon() icon9.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Help_32.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Get_position_pb.setIcon(icon9) self.Get_position_pb.setObjectName("Get_position_pb") self.gridLayout_buttons.addWidget(self.Get_position_pb, 11, 1, 1, 1) self.Find_Home_pb = QtWidgets.QPushButton(self.groupBox) icon10 = QtGui.QIcon() icon10.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/home2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.Find_Home_pb.setIcon(icon10) self.Find_Home_pb.setObjectName("Find_Home_pb") self.gridLayout_buttons.addWidget(self.Find_Home_pb, 3, 1, 1, 1) self.label_5 = QtWidgets.QLabel(self.groupBox) self.label_5.setObjectName("label_5") self.gridLayout_buttons.addWidget(self.label_5, 3, 0, 1, 1) self.gridLayout.addLayout(self.gridLayout_buttons, 0, 0, 1, 1) spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem1, 0, 1, 1, 1) self.horizontalLayout_3.addWidget(self.groupBox) self.verticalLayout.addLayout(self.horizontalLayout_3) spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem2) self.StatusBarLayout = QtWidgets.QHBoxLayout() self.StatusBarLayout.setSizeConstraint( QtWidgets.QLayout.SetMinimumSize) self.StatusBarLayout.setObjectName("StatusBarLayout") self.verticalLayout.addLayout(self.StatusBarLayout) self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.splitter) self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_2) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout_3.addWidget(self.splitter, 0, 0, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)