Пример #1
0
    def loadFromScheduler(self):
        # actWhen ComboBox
        for row, pair in enumerate(self.scheduler.POSSIBLE_ACTWHENS):
            self.comboBox_actWhen.addItem(pair[1])
            self.comboBox_actWhen.setItemData(row, pair[0])

        self.slotActWhenChanged(self.scheduler.actWhen)
        self.comboBox_actWhen.setCurrentIndex(self.scheduler.actWhen)
        self.comboBox_actWhen.activated[int].connect(self.slotActWhenChanged)

        # tasks list
        runningTasks = app.etmpy.runningTasksStat.getTasks()
        waitingTaskIds = self.scheduler.waitingTaskIds
        for rTaskId, rTask in runningTasks.items():
            item = QListWidgetItem(rTask["name"])
            item.setData(Qt.UserRole, rTaskId)
            self.listWidget_tasks.addItem(item)

            # must be set before being added
            if rTaskId in waitingTaskIds:
                item.setSelected(True)
            else:
                item.setSelected(False)

        # action comboBox
        selectedIndex = None
        for action in self.scheduler.actions:
            if action.command or action.availability == "yes":
                self.comboBox_action.addItem(action.displayName)
                row = self.comboBox_action.count() - 1
                self.comboBox_action.setItemData(row, action.actionId)
                if self.scheduler.actionId == action.actionId:
                    selectedIndex = row
        self.comboBox_action.setCurrentIndex(selectedIndex)
Пример #2
0
    def __init__(self, parameter, parent=None):
        """Constructor

        .. versionadded:: 2.2

        :param parameter: A ListParameter object.
        :type parameter: ListParameter

        """
        super().__init__(parameter, parent)

        self._input = QListWidget()

        self._input.setSelectionMode(QAbstractItemView.MultiSelection)

        if self._parameter.maximum_item_count != \
                self._parameter.minimum_item_count:
            tool_tip = 'Select between %d and %d items' % (
                self._parameter.minimum_item_count,
                self._parameter.maximum_item_count)
        else:
            tool_tip = 'Select exactly %d items' % (
                       self._parameter.maximum_item_count)

        self._input.setToolTip(tool_tip)

        for opt in self._parameter.options_list:
            item = QListWidgetItem()
            item.setFlags(item.flags() | Qt.ItemIsEditable)
            item.setText(str(opt))
            self._input.addItem(item)
            if opt in self._parameter.value:
                item.setSelected(True)

        self.inner_input_layout.addWidget(self._input)

        # override self._input_layout arrangement to make the label at the top
        # reset the layout
        self.input_layout.setParent(None)
        self.help_layout.setParent(None)

        self.label.setParent(None)
        self.inner_input_layout.setParent(None)

        self.input_layout = QVBoxLayout()
        self.input_layout.setSpacing(0)

        # put element into layout
        self.input_layout.addWidget(self.label)
        self.input_layout.addLayout(self.inner_input_layout)

        self.main_layout.addLayout(self.input_layout)
        self.main_layout.addLayout(self.help_layout)
Пример #3
0
    def update_gui(self):
        selected_file_names = [selection_el.text() for selection_el in self.file_selection_listwidget.selectedItems()]
        # computing_group
        hyd_names = get_filename_by_type_physic("hydraulic", os.path.join(self.path_prj, "hdf5"))
        hab_names = get_filename_by_type_physic("habitat", os.path.join(self.path_prj, "hdf5"))
        names = hyd_names + hab_names
        self.file_selection_listwidget.blockSignals(True)
        self.file_selection_listwidget.clear()
        self.hs_computed_listwidget.blockSignals(True)
        self.hs_computed_listwidget.clear()
        if names:
            for name in names:
                # filename
                item_name = QListWidgetItem()
                item_name.setText(name)
                self.file_selection_listwidget.addItem(item_name)
                if name in selected_file_names:
                    item_name.setSelected(True)
                # check
                item = QListWidgetItem()
                item.setText("")
                item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
                try:
                    hdf5 = Hdf5Management(self.path_prj, name, new=False, edit=False)
                    hdf5.get_hdf5_attributes(close_file=True)
                    if hdf5.hs_calculated:
                        item.setCheckState(Qt.Checked)
                    else:
                        item.setCheckState(Qt.Unchecked)
                except:
                    self.send_log.emit(self.tr("Error: " + name + " file seems to be corrupted. Delete it with HABBY or manually."))
                self.hs_computed_listwidget.addItem(item)

                item.setTextAlignment(Qt.AlignCenter)

        self.file_selection_listwidget.blockSignals(False)
        self.hs_computed_listwidget.blockSignals(False)
        # preselection if one
        if self.file_selection_listwidget.count() == 1:
            self.file_selection_listwidget.selectAll()
Пример #4
0
    def initTab(self):
        # connect tab and item
        self.tab_widget.currentRowChanged.connect(self.item_widget.setCurrentIndex)
        self.tab_widget.currentRowChanged.connect(self.map_choose)
        for i in range(len(self.list_str)):
            # add item to tab
            font = QFont()
            font.setBold(True)
            font.setWeight(50)
            font.setPixelSize(14)

            item = QListWidgetItem(self.list_str[i], self.tab_widget)
            item.setSizeHint(QSize(30, 50))
            item.setFont(font)
            item.setTextAlignment(Qt.AlignCenter)
            if i == 0:
                item.setSelected(True)
            # add item content
            if self.name == strings.TYPE_POLICY:
                self.item_widget.addWidget(eval(self.list_item[i]))
            elif self.name == strings.TYPE_MAP:
                self.item_widget.addWidget(MapDescription(self.list_str[i]))
Пример #5
0
    def createGroupBox(self, layout):

        group1 = QGroupBox(self)
        group1.setTitle(self.tr("KDE Themes"))
        group1.setMinimumHeight(180)
        layout.addWidget(group1)

        grLayout = QVBoxLayout(group1)
        listWidget1 = QListWidget(group1)
        grLayout.addWidget(listWidget1)

        layout.addItem(QSpacerItem(20, 40, QSizePolicy.Preferred, QSizePolicy.Preferred))


        group2 = QGroupBox(self)
        group2.setTitle(self.tr("Icon Sets"))
        group2.setMinimumHeight(140)
        group2.setMaximumHeight(150)
        layout.addWidget(group2)

        grLayout2 = QVBoxLayout(group2)
        listWidget2 = QListWidget(group2)
        listWidget2.setViewMode(QListView.IconMode)
        listWidget2.setIconSize(QSize(384, 72))
        item = QListWidgetItem(listWidget2)
        item.setIcon(QIcon(":/data/images/oxygen-set.png"))
        item.setText("Oxygen")

        item = QListWidgetItem(listWidget2)
        item.setIcon(QIcon(":/data/images/breeze-set.png"))
        item.setText("Breeze")
        item.setSelected(True)

        listWidget2.itemClicked.connect(self.iconSetSelect)

        grLayout2.addWidget(listWidget2)
Пример #6
0
def refreshCurrentFolder(self, new_folder=None):
    # -- set new current folder
    if new_folder is not None:
        self.current_folder = new_folder
    if self.current_folder is None:
        return

    # -- get selected sequences and runs
    selected_sequences = [item.text() for item in self.seqList.selectedItems()]
    selected_runs = [
        item.data(Qt.UserRole) for item in self.runList.selectedItems()
    ]
    # handle case where "all" is selected
    if "[all]" in selected_sequences:
        selected_sequences = []

    # -- get current index
    # run list
    item = self.runList.currentItem()
    current_run = item.data(Qt.UserRole) if item is not None else None
    # seq list
    item = self.seqList.currentItem()
    current_seq = item.data(Qt.UserRole) if item is not None else None

    # -- get current focus, to restore it after refresh
    if self.runList.hasFocus():
        focus_widget = self.runList
    elif self.seqList.hasFocus():
        focus_widget = self.seqList
    elif self.refreshRunListButton.hasFocus():
        # by default, set focus to runList when the refresh button is clicked !
        focus_widget = self.runList
    else:
        focus_widget = None

    # -- BLOCK SIGNALS
    self.seqList.blockSignals(True)
    self.runList.blockSignals(True)

    # -- reset lists
    # clear
    self.runList.clear()
    self.seqList.clear()
    # add "all" to seqlist
    item = QListWidgetItem()
    item.setText("[all]")
    item.setData(Qt.UserRole, None)
    self.seqList.addItem(item)

    # -- check that the folder exists
    if not self.current_folder.is_dir():
        self.runList.addItems(["Folder does not exists"])
        self.seqList.blockSignals(False)
        self.runList.blockSignals(False)
        return

    # -- get content and update list
    data_class = self.dataTypeComboBox.currentData()
    dir_content = exploreDayFolder(self.current_folder, data_class)

    for content in dir_content:
        # - skip if empty
        if not content["file_list"]:
            continue

        # - add subdir item
        # normal formatting > for seqList
        item = QListWidgetItem()
        item.setText(content["name"])
        item.setData(Qt.UserRole, content["path"])
        self.seqList.addItem(item)

        # stop here if not selected
        if selected_sequences and content["name"] not in selected_sequences:
            continue

        # special formatting > for runList
        item = QListWidgetItem()
        item.setText(content["name"])
        item.setData(Qt.UserRole, content["path"])
        item.setForeground(QColor(0, 0, 255))
        # https://joekuan.files.wordpress.com/2015/09/screen3.png
        item.setIcon(self.style().standardIcon(QStyle.SP_DirIcon))
        self.runList.addItem(item)

        # - add files items
        n_files = len(content["file_list"])
        for i, file in enumerate(content["file_list"]):
            # good prefix
            if i == n_files - 1:
                prefix = "└─ "
            else:
                prefix = "├─ "

            # is there a fit ?
            suffix = ""
            if fitting.saved_fit_exist(self, file):
                # ideas for markers :
                # 🟩, ✳️ ✔️
                # see https://emojipedia.org
                suffix += " ✔️"

            # format display name with the data object
            data = data_class(path=file)
            display_name = data.getDisplayName()
            # add item
            item = QListWidgetItem()
            # NB: use file.stem to remove ext
            item.setText(prefix + display_name + suffix)
            item.setData(Qt.UserRole, file)
            self.runList.addItem(item)

    # -- restore selections
    # run list
    for i in range(self.runList.count()):
        item = self.runList.item(i)
        data = item.data(Qt.UserRole)
        if data in selected_runs:
            item.setSelected(True)
        if data == current_run:
            self.runList.setCurrentItem(item)
    # seq list
    for i in range(self.seqList.count()):
        item = self.seqList.item(i)
        name = item.text()
        if name in selected_sequences:
            item.setSelected(True)
        if name == current_seq:
            self.seqList.setCurrentItem(item)

    # -- UNBLOCK SIGNALS
    self.seqList.blockSignals(False)
    self.runList.blockSignals(False)

    # -- restore focus
    if focus_widget is not None:
        focus_widget.setFocus()
Пример #7
0
    def __init__(self):
        super(self.__class__, self).__init__()
        self.N0 = 1000
        self.N1 = 1000

        self.setupUi(self)
        self.plotButton.clicked.connect(self.plot_data)
        self.clearButton.clicked.connect(self.clear_data)
        self.loadButton.clicked.connect(self.load_file)
        self.peakButton.clicked.connect(self.find_peaks)

        ## Not implemented
        self.peakButton.setEnabled(False)
        self.thresholdSlider.setEnabled(False)

        self.saveButton.clicked.connect(self.save)
        self.fitButton.clicked.connect(self.fit_data)
        self.datasetCombo.currentTextChanged.connect(self.plot_bg)
        self.removeBackgroundBox.stateChanged.connect(self.plot_bg)
        self.data = np.zeros((self.N0, self.N1))
        self.data[0, 0] = 1
        self.data[-1, -1] = 1
        self.inputfile = None
        self.bgplot = self.plotarea.canvas.ax.matshow(self.data, vmin=0, vmax=1)
        self.peaks = np.zeros((self.N0, self.N1))
        self.peaks[:] = np.nan
        self.peaksplot = self.plotarea.canvas.ax.matshow(self.peaks, vmin=0, vmax=1, cmap="gray")
        self.plotarea.canvas.ax.set_xlim(0, self.N1)
        self.plotarea.canvas.ax.set_ylim(self.N0, 0)
        self.plotarea.canvas.draw_idle()
        self.rangeSlider.startValueChanged.connect(self.setclim)
        self.rangeSlider.endValueChanged.connect(self.setclim)
        self.redrawtimer = QTimer()
        self.redrawtimer.setSingleShot(True)
        self.redrawtimer.timeout.connect(self.plotarea.canvas.draw)
        for i, ax in enumerate(axes):
            label = np.array2string(np.array(ax), precision=0)
            item = QListWidgetItem(label)
            item.setData(1, ax)
            self.reflexList.addItem(item)
            if ax in axesactive:
                item.setSelected(True)
        for el in [
            self.angleXSpin,
            self.angleYSpin,
            self.angleZSpin,
            self.transXSpin,
            self.transYSpin,
            self.transZSpin,
            self.energySpin,
            self.latticeSpin,
        ]:
            el.valueChanged.connect(self.invalidate_plot)

        self.plotpoints = {}
        self.testpoints = None

        def styles(i=0):
            colors = (
                "#1f77b4",
                "#aec7e8",
                "#ff7f0e",
                "#ffbb78",
                "#2ca02c",
                "#98df8a",
                "#d62728",
                "#ff9896",
                "#9467bd",
                "#c5b0d5",
                "#8c564b",
                "#c49c94",
                "#e377c2",
                "#f7b6d2",
                "#7f7f7f",
                "#c7c7c7",
                "#bcbd22",
                "#dbdb8d",
                "#17becf",
                "#9edae5",
            )
            markers = (".", "+", "x")
            while True:
                yield colors[i % len(colors)], markers[(i // len(colors)) % len(markers)]
                i += 1

        self.sgen = styles()
        self.inputfilename = None

        self.plotarea.canvas.mpl_connect("motion_notify_event", self.mpl_move)
        self.plotarea.canvas.mpl_connect("button_release_event", self.mpl_release)
Пример #8
0
    def setSelected(self, select):
        if self.fWidget is not None:
            self.fWidget.setSelected(select)

        QListWidgetItem.setSelected(self, select)
Пример #9
0
    def __init__(self, elder):
        super().__init__()
        self.elder = elder
        self.layout = QGridLayout(self)
        self.settings = elder.settings
        self.listener = elder.listener

        paths = QGroupBox(self)
        paths.setTitle('Paths')
        paths_layout = QGridLayout(paths)
        self.layout.addWidget(paths)

        label = QLabel(paths)
        label.setText('Fiddler')
        paths_layout.addWidget(label, 0, 0, 1, 1)

        self.fiddler_path = QLineEdit(paths)
        self.fiddler_path.setText(self.settings.paths['Fiddler'])
        self.fiddler_path.setDisabled(True)
        paths_layout.addWidget(self.fiddler_path, 0, 1, 1, 1)

        button = QPushButton(paths)
        button.setText('...')
        button.clicked.connect(lambda: self.set_path('fiddler'))
        paths_layout.addWidget(button, 0, 2, 1, 1)

        label = QLabel(paths)
        label.setText('TurboHUD')
        paths_layout.addWidget(label, 1, 0, 1, 1)

        self.turbohud_path = QLineEdit(paths)
        self.turbohud_path.setText(self.settings.paths['TurboHUD'])
        self.turbohud_path.setDisabled(True)
        paths_layout.addWidget(self.turbohud_path, 1, 1, 1, 1)

        button = QPushButton(paths)
        button.setText('...')
        button.clicked.connect(lambda: self.set_path('turbohud'))
        paths_layout.addWidget(button, 1, 2, 1, 1)

        label = QLabel(paths)
        label.setText('pHelper')
        paths_layout.addWidget(label, 2, 0, 1, 1)

        self.phelper_path = QLineEdit(paths)
        self.phelper_path.setText(self.settings.paths['pHelper'])
        self.phelper_path.setDisabled(True)
        paths_layout.addWidget(self.phelper_path, 2, 1, 1, 1)

        button = QPushButton(paths)
        button.setText('...')
        button.clicked.connect(lambda: self.set_path('phelper'))
        paths_layout.addWidget(button, 2, 2, 1, 1)

        image_recognition = QGroupBox(self)
        image_recognition.setTitle('Auto Stuff (Image Recognition)')
        image_recognition_layout = QGridLayout(image_recognition)
        self.layout.addWidget(image_recognition, 0, 1)

        checkbox = QCheckBox(image_recognition)
        checkbox.setText('Auto start Game')
        checkbox.setChecked(self.settings.special['auto_start'])
        checkbox.clicked.connect(lambda: self.checkbox_clicked('auto_start'))
        image_recognition_layout.addWidget(checkbox, 0, 0)

        checkbox = QCheckBox(image_recognition)
        checkbox.setText('Auto open Rift / Grift')
        checkbox.setChecked(self.settings.special['auto_open'])
        checkbox.clicked.connect(lambda: self.checkbox_clicked('auto_open'))
        image_recognition_layout.addWidget(checkbox, 1, 0)

        radio = QRadioButton(image_recognition)
        radio.setText('Rift')
        radio.setChecked(self.settings.special['auto_open_option'] == 'rift')
        radio.clicked.connect(lambda: self.radio_clicked('rift'))
        image_recognition_layout.addWidget(radio, 2, 0)

        radio = QRadioButton(image_recognition)
        radio.setText('Grift')
        radio.setChecked(self.settings.special['auto_open_option'] == 'grift')
        radio.clicked.connect(lambda: self.radio_clicked('grift'))
        image_recognition_layout.addWidget(radio, 2, 1)

        checkbox = QCheckBox(image_recognition)
        checkbox.setText('Auto accept Grift')
        checkbox.setChecked(self.settings.special['auto_accept_gr'])
        checkbox.clicked.connect(
            lambda: self.checkbox_clicked('auto_accept_gr'))
        image_recognition_layout.addWidget(checkbox, 3, 0)

        checkbox = QCheckBox(image_recognition)
        checkbox.setText('Auto upgrade Gem')
        checkbox.setChecked(self.settings.special['auto_upgrade_gem'])
        checkbox.clicked.connect(
            lambda: self.checkbox_clicked('auto_upgrade_gem'))
        image_recognition_layout.addWidget(checkbox, 4, 0)

        checkbox = QCheckBox(image_recognition)
        checkbox.setText('Auto gamble')
        checkbox.setChecked(self.settings.special['auto_gamble'])
        checkbox.clicked.connect(lambda: self.checkbox_clicked('auto_gamble'))
        image_recognition_layout.addWidget(checkbox, 5, 0)

        poolspots = QGroupBox(self)
        poolspots.setTitle('Poolspots')
        poolspots_layout = QGridLayout(poolspots)
        self.layout.addWidget(poolspots, 1, 0)

        self.poolspot_list = QListWidget(poolspots)
        self.poolspot_list.setSelectionMode(QListWidget.MultiSelection)
        for act, ps in ressources.poolspots().items():
            for poolspot in ps:
                item = QListWidgetItem(self.poolspot_list)
                item.setText(
                    f'Act {act}: {string.capwords(poolspot.replace("_", " "))}'
                )
                item.poolspot = poolspot
                if poolspot in self.settings.poolspots:
                    item.setSelected(True)
        self.poolspot_list.itemSelectionChanged.connect(self.update_poolspots)
        poolspots_layout.addWidget(self.poolspot_list)

        # button = QPushButton(poolspots)
        # button.setText('Save')
        # button.clicked.connect(self.update_poolspots)
        # poolspots_layout.addWidget(button)

        gamble_item = QGroupBox(self)
        gamble_item.setTitle('Gamble Item')
        gamble_item_layout = QGridLayout(gamble_item)
        self.layout.addWidget(gamble_item, 1, 1)

        self.gamble_item_list = QListWidget(gamble_item)
        self.gamble_item_list.setSelectionMode(QListWidget.SingleSelection)
        for _item in ressources.items():
            item = QListWidgetItem(self.gamble_item_list)
            item.setText(string.capwords(_item.replace('_', ' ')))
            item.item = _item
            if _item == self.settings.special['gamble_item']:
                item.setSelected(True)
        self.gamble_item_list.itemSelectionChanged.connect(
            self.update_gamble_item)
        gamble_item_layout.addWidget(self.gamble_item_list)

        self.setLayout(self.layout)
Пример #10
0
    def setSelected(self, select):
        if self.fWidget is not None:
            self.fWidget.setSelected(select)

        QListWidgetItem.setSelected(self, select)
Пример #11
0
 def __init__(self, parent: QWidget):
     super(SettingsWidget, self).__init__(parent, Qt.Window)
     # config parser
     self._cfg = configparser.ConfigParser()
     # layouts
     self._layout_main = QVBoxLayout()
     self._layout_stacks = QHBoxLayout()
     self._layout_okcancel = QHBoxLayout()
     # sections list
     self._sections_list = QListWidget(self)
     self._sections_list.setSelectionMode(QAbstractItemView.SingleSelection)
     self._sections_list.setSelectionBehavior(QAbstractItemView.SelectItems)
     self._sections_list.setIconSize(QSize(32, 32))
     self._sections_list.setViewMode(QListView.IconMode)
     self._sections_list.setMaximumWidth(80)
     self._sections_list.setGridSize(QSize(64, 64))
     self._sections_list.setFlow(QListView.TopToBottom)
     self._sections_list.setMovement(
         QListView.Static)  # items cannot be moved by user
     # network item
     lwi = QListWidgetItem()
     lwi.setText(self.tr('Network'))
     lwi.setTextAlignment(Qt.AlignCenter)
     lwi.setIcon(QIcon(':/i/settings_network_32.png'))
     lwi.setData(Qt.UserRole, QVariant(0))
     self._sections_list.addItem(lwi)
     lwi.setSelected(True)
     # misc item
     lwi = QListWidgetItem()
     lwi.setText(self.tr('Other'))
     lwi.setTextAlignment(Qt.AlignCenter)
     lwi.setIcon(QIcon(':/i/settings_32.png'))
     lwi.setData(Qt.UserRole, QVariant(1))
     self._sections_list.addItem(lwi)
     # connections
     self._sections_list.currentItemChanged.connect(
         self.on_section_current_item_changed)
     self._layout_stacks.addWidget(self._sections_list)
     # stacked widget
     self._stack = QStackedWidget(self)
     self._w_net = Settings_Net(self._stack)
     self._w_misc = Settings_Misc(self._stack)
     self._stack.addWidget(self._w_net)
     self._stack.addWidget(self._w_misc)
     self._stack.setCurrentIndex(0)
     self._layout_stacks.addWidget(self._stack)
     # ok cancel buttons
     self._btn_ok = QPushButton(self)
     self._btn_ok.setText(self.tr('Save'))
     self._btn_ok.setIcon(QIcon(':/i/save.png'))
     self._btn_cancel = QPushButton(self)
     self._btn_cancel.setText(self.tr('Cancel'))
     self._btn_cancel.setIcon(QIcon(':/i/cancel.png'))
     self._layout_okcancel.addStretch()
     self._layout_okcancel.addWidget(self._btn_ok)
     self._layout_okcancel.addWidget(self._btn_cancel)
     self._btn_ok.clicked.connect(self.on_ok)
     self._btn_cancel.clicked.connect(self.on_cancel)
     # final
     self._layout_main.addLayout(self._layout_stacks)
     self._layout_main.addLayout(self._layout_okcancel)
     self.setLayout(self._layout_main)
     self.setWindowTitle(self.tr('Settings'))
     self.setWindowIcon(QIcon(':/i/settings_32.png'))
     #
     self.load_settings()
Пример #12
0
 def __init__(self, parent: QWidget):
     super(SettingsWidget, self).__init__(parent, Qt.Window)
     # config parser
     self._cfg = configparser.ConfigParser()
     # layouts
     self._layout_main = QVBoxLayout()
     self._layout_stacks = QHBoxLayout()
     self._layout_okcancel = QHBoxLayout()
     # sections list
     self._sections_list = QListWidget(self)
     self._sections_list.setSelectionMode(QAbstractItemView.SingleSelection)
     self._sections_list.setSelectionBehavior(QAbstractItemView.SelectItems)
     self._sections_list.setIconSize(QSize(32, 32))
     self._sections_list.setViewMode(QListView.IconMode)
     self._sections_list.setMaximumWidth(80)
     self._sections_list.setGridSize(QSize(64, 64))
     self._sections_list.setFlow(QListView.TopToBottom)
     self._sections_list.setMovement(QListView.Static)  # items cannot be moved by user
     # network item
     lwi = QListWidgetItem()
     lwi.setText(self.tr("Network"))
     lwi.setTextAlignment(Qt.AlignCenter)
     lwi.setIcon(QIcon(":/i/settings_network_32.png"))
     lwi.setData(Qt.UserRole, QVariant(0))
     self._sections_list.addItem(lwi)
     lwi.setSelected(True)
     # misc item
     lwi = QListWidgetItem()
     lwi.setText(self.tr("Other"))
     lwi.setTextAlignment(Qt.AlignCenter)
     lwi.setIcon(QIcon(":/i/settings_32.png"))
     lwi.setData(Qt.UserRole, QVariant(1))
     self._sections_list.addItem(lwi)
     # connections
     self._sections_list.currentItemChanged.connect(self.on_section_current_item_changed)
     self._layout_stacks.addWidget(self._sections_list)
     # stacked widget
     self._stack = QStackedWidget(self)
     self._w_net = Settings_Net(self._stack)
     self._w_misc = Settings_Misc(self._stack)
     self._stack.addWidget(self._w_net)
     self._stack.addWidget(self._w_misc)
     self._stack.setCurrentIndex(0)
     self._layout_stacks.addWidget(self._stack)
     # ok cancel buttons
     self._btn_ok = QPushButton(self)
     self._btn_ok.setText(self.tr("Save"))
     self._btn_ok.setIcon(QIcon(":/i/save.png"))
     self._btn_cancel = QPushButton(self)
     self._btn_cancel.setText(self.tr("Cancel"))
     self._btn_cancel.setIcon(QIcon(":/i/cancel.png"))
     self._layout_okcancel.addStretch()
     self._layout_okcancel.addWidget(self._btn_ok)
     self._layout_okcancel.addWidget(self._btn_cancel)
     self._btn_ok.clicked.connect(self.on_ok)
     self._btn_cancel.clicked.connect(self.on_cancel)
     # final
     self._layout_main.addLayout(self._layout_stacks)
     self._layout_main.addLayout(self._layout_okcancel)
     self.setLayout(self._layout_main)
     self.setWindowTitle(self.tr("Settings"))
     self.setWindowIcon(QIcon(":/i/settings_32.png"))
     #
     self.load_settings()
Пример #13
0
 def _blinkOff(self, li: QListWidgetItem, initMilis: int):
     QTimer.singleShot(initMilis, lambda:li.setSelected(False))
     QTimer.singleShot(initMilis + 100, lambda:li.setSelected(True))
     QTimer.singleShot(initMilis + 300, lambda:li.setSelected(False))
     QTimer.singleShot(initMilis + 300, self.disableSelection)