示例#1
0
    def updatawindow(self):
        templineeditor_label3Text =""
        currentfatherIconName =""


        try:
            templineeditor_label3Text =self.readCurrentNameArr[-1][1]
            iconIndex = self.readCurrentNameArr[-1][0]
            currentfatherIconName =  self.fatherIconNameArr[iconIndex]
        except:
            pass
        #select inside
        self.lineeditor_label3.setText(templineeditor_label3Text)
        self.addItem_Father.setEditText(templineeditor_label3Text)
        self.addItem_FatherIcon.setEditText(currentfatherIconName.split("/")[0])
        self.currentIconClassName = currentfatherIconName.split("/")[0]

        #select outside
        self.lineeditor_label3_children.setText(self.runPythonName)
        self.addItem_childrenNewName.setEditText(self.runPythonName)

        try:

            self.IconCurrentFilelistL =Hot7getIconF(houdiniHotPathIconPath + self.currentIconClassName)
            self.IconCurrentFilelistLCom =  QtWidgets.QCompleter(self.IconCurrentFilelistL)
            self.addItem_FatherIconName.setCompleter(self.IconCurrentFilelistLCom)
            self.additemFromNode(self.addItem_FatherIconName,self.IconCurrentFilelistL)
            self.addItem_FatherIconName.setEditText(currentfatherIconName.split("/")[1])
            self.tempCurrentIconName =currentfatherIconName.split("/")[1]
        except:
            self.addItem_FatherIconName.setEditText("None")
        #set selectIconClass and Png Name
        self.addItem_childrenIconPath = "OBJ/switcher"
        try:
            self.addItem_childrenIconPath =self.childrenCurrentImageArr[self.outSelectIndexArr[-1]]
        except:
            pass
        #set Out Select Class
        self.addItem_childrenIconClass.setEditText(self.addItem_childrenIconPath.split("/")[0])
        self.currentIconChildrenClassName =self.addItem_childrenIconPath.split("/")[0]

        ##set out select iCON Name
        try:

            self.IconCurrentChildrenFilelistL =Hot7getIconF(houdiniHotPathIconPath + self.currentIconChildrenClassName)
            self.IconCurrentChildrenFilelistLCom =  QtWidgets.QCompleter(self.IconCurrentChildrenFilelistL)
            self.addItem_ChildrenIconName.setCompleter(self.IconCurrentChildrenFilelistLCom)
            self.additemFromNode(self.addItem_ChildrenIconName,self.IconCurrentChildrenFilelistL)
            self.addItem_ChildrenIconName.setEditText(self.addItem_childrenIconPath.split("/")[1])
            self.tempCurrentChildrenIconName =self.addItem_childrenIconPath.split("/")[1]
        except:
            self.addItem_ChildrenIconName.setEditText("None")
        ##setcurrentIcon
        self.fatherIconViewPath = houdiniHotPathIconPath +self.addItem_FatherIcon.currentText()+"/" +self.addItem_FatherIconName.currentText()
        self.ChildrenIconViewPath =houdiniHotPathIconPath +self.addItem_childrenIconClass.currentText()+"/" +self.addItem_ChildrenIconName.currentText()

        self.slider_outSideIndex.setValue(self.childrenindex)
        self.update()
示例#2
0
    def __init__(self, parent=None):
        super(SettingsDialog, self).__init__(parent)

        self.settings = QSettings(
            QStandardPaths.writableLocation(QStandardPaths.ConfigLocation) +
            "/settings.ini", QSettings.IniFormat)

        self.usernames = set()
        self.engines = set()

        self.newUsername = ""
        self.newEnginePath = ""

        self._loadSettings()

        self.mainLayout = QtWidgets.QFormLayout()

        self.usernameLineEdit = QtWidgets.QLineEdit(self.newUsername)
        self.usernameLineEdit.setPlaceholderText("Username (a-zA-Z0-9_)")
        self.usernameLineEdit.setMinimumHeight(35)
        self.usernameLineEdit.setValidator(self.validator)
        self.usernameLineEdit.textChanged.connect(self.validateFields)
        self.usernameLineEdit.selectAll()
        self.usernameLineEdit.setCompleter(
            QtWidgets.QCompleter(list(self.usernames), self))

        self.engineEdit = _EngineEdit(self.newEnginePath)
        self.engineEdit.pathEdit.textChanged.connect(self.validateFields)
        self.engineEdit.pathEdit.selectAll()
        self.engineEdit.pathEdit.setCompleter(
            QtWidgets.QCompleter(list(self.engines), self))

        self.resetButton = QtWidgets.QPushButton("Reset")
        self.resetButton.clicked.connect(self._reset)

        buttonBox = QtWidgets.QDialogButtonBox()
        self.okButton = buttonBox.addButton(
            "Ok", QtWidgets.QDialogButtonBox.AcceptRole)
        self.cancelButton = buttonBox.addButton(
            "Cancel", QtWidgets.QDialogButtonBox.RejectRole)
        self.okButton.clicked.connect(self._ok)
        self.cancelButton.clicked.connect(self.reject)

        self.mainLayout.setContentsMargins(0, 0, 0, 0)
        self.mainLayout.setAlignment(Qt.AlignBottom)
        self.mainLayout.addRow("Username", self.usernameLineEdit)
        self.mainLayout.addRow("Engine", self.engineEdit)
        self.mainLayout.addWidget(self.resetButton)
        self.mainLayout.addWidget(buttonBox)
        self.setLayout(self.mainLayout)

        self.validateFields()
示例#3
0
    def __init__(self, rootpath, *args, **kwargs):
        super(DetailsPane, self).__init__()

        self.dpifactor = 2 if kwargs['highdpi'] else 1

        # build icon completer
        categories = hou.nodeTypeCategories()
        strlist = []
        for category in categories.keys():
            node_types = categories[category].nodeTypes()
            for node_type in node_types.keys():
                strlist.append(node_types[node_type].icon())

        jsondict = {}
        jsonfile = os.path.join(hou.getenv('HOUDINI_USER_PREF_DIR'),
                                'python2.7libs', 'houdini_markingmenu', 'json',
                                'icons.json')

        with open(jsonfile, 'r') as f:
            jsondict = json.load(f)

        for x in jsondict.keys():
            for item in jsondict[x]:
                if item not in strlist:
                    strlist.append(item)

        comp = QtWidgets.QCompleter(list(set(strlist)))
        comp.popup().setStyleSheet(hou.qt.styleSheet())
        comp.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
        self.iconCompleter = comp

        self.initUI()
    def __init__(self, editor):
        super(MarkingMenuEditor, self).__init__()
        self.setParent(hou.qt.mainWindow(), QtCore.Qt.Window)
        self.setWindowTitle('Marking Menu Editor')

        # UI fixed sizes
        self.HIGH_DPI = cmds.HIGH_DPI
        self.dpifactor = 2 if self.HIGH_DPI else 1

        self.setGeometry(300, 250, 900, 700)
        self.setStyleSheet('background-color: rgb(58,58,58);')
        self.setFixedSize(1150 * self.dpifactor, 850 * self.dpifactor)

        self._rootpath = os.path.join(
            os.path.abspath(hou.getenv('HOUDINI_USER_PREF_DIR')),
            'python2.7libs', 'houdini_markingmenu')

        self._contexts = sorted(
            ['SOP', 'OBJ', 'DOP', 'VOP', 'ROP', 'SHOP', 'CHOP', 'COP'])

        self._collections = []
        self._currentContext = 'SOP'
        self.editor = editor

        self._collectionsDir = os.path.join(self._rootpath, 'json',
                                            self._currentContext)

        self._fullcpath = ''  # full path to the current collection on disk
        self._menuPrefs = utils.loadMenuPreferences(
            os.path.join(self._rootpath, 'json', 'menuprefs.json'))
        self._detailIndices = []
        self._loadedCollection = []
        self._virtualCollection = []
        self._unfreezeVirtualUpdate = 0
        self._unsaved = 0
        self._prevCollection = ''

        self.legendmenus = []
        self.legendcollections = []
        self.legendactions = []
        self.legendHistory = 0

        # button functions auto completer
        readfile = []
        funcList = []
        with open(os.path.join(self._rootpath, 'buttonfunctions.py'),
                  'r') as f:
            readfile = f.readlines()

        for line in readfile:
            if '**kwargs' in line:
                funcList.append(line.split('def ')[-1].split('(')[0])
        funcList.append('launchEditor')
        funcList += hou.shelves.tools().keys()
        self._funcCompleter = QtWidgets.QCompleter(funcList)
        self._funcCompleter.popup().setStyleSheet(hou.qt.styleSheet())
        self._funcCompleter.setCompletionMode(
            QtWidgets.QCompleter.PopupCompletion)

        self.__initUI()
示例#5
0
 def try_connect(self):
     bad = False
     if self.model_filename is None:
         self.lmodel_label.setText(
             '<font color=red>Please select a model first</font>')
         bad = True
     if self.db_filename is None:
         self.ldb_label.setText(
             '<font color=red>Please select a database first</font>')
         bad = True
     if not bad:
         self.model = tf.keras.models.load_model(
             self.model_filename,
             custom_objects={'SpecialEmbedding': SpecialEmbedding})
         self.db = sqlite3.connect(self.db_filename)
         self.embeddings = get_all_embeddings(self.db, self.model)
         if os.path.exists('precomputed_tsne.npy'):
             self.coordinates = np.load('precomputed_tsne.npy')
         else:
             self.coordinates = TSNE(n_components=2).fit_transform(
                 list(self.embeddings.values()))
         comp = QtWidgets.QCompleter(list(self.embeddings.keys()))
         comp.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
         self.blue_0_textbox.setCompleter(comp)
         self.red_0_textbox.setCompleter(comp)
         self.connect_label.setText('<font color=green>Connected</font>')
    def __init__(self):
        # call super
        super(Panel, self).__init__()

        self.label = qtw.QLabel('Username')

        self.button = qtw.QPushButton('Start')
        self.button.setIcon(qtg.QIcon('example_icon.png'))
        self.button.setToolTip('shortcut: u')
        self.button.setShortcut('u')

        self.checkbox = qtw.QCheckBox('agree to GDPR')
        self.checkbox.setChecked(True)

        # A QCompleter helps users by giving autocompletion
        self.user_line = qtw.QLineEdit()
        self.users = ['harry', 'hermione', 'ron', 'hagrid']
        self.completer_line = qtw.QCompleter(self.users)
        self.user_line.setCompleter(self.completer_line)
        self.user_line.setPlaceholderText('enter you name here..')

        self.combobox = qtw.QComboBox()
        self.permissions_combobox = ['r', 'w', 'rx', 'rw', 'rwx']
        self.combobox.addItems(self.permissions_combobox)

        self.vlayout = qtw.QVBoxLayout()
        self.vlayout.addWidget(self.label)
        self.vlayout.addWidget(self.user_line)
        self.vlayout.addWidget(self.checkbox)
        self.vlayout.addWidget(self.combobox)
        self.vlayout.addSpacing(25)
        self.vlayout.addWidget(self.button)

        self.setLayout(self.vlayout)
示例#7
0
    def refresh(self):
        slist = opencue.api.getJobNames()
        slist.sort()

        self.__c = QtWidgets.QCompleter(slist, self)
        self.__c.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.setCompleter(self.__c)
示例#8
0
 def currentTextChange(self):
     self.currentIconClassName1 =self.addItem_FatherIcon.currentText()
     self.IconCurrentFilelistL =Hot7getIconF(houdiniHotPathIconPath + self.currentIconClassName1)
     self.IconCurrentFilelistLCom =  QtWidgets.QCompleter(self.IconCurrentFilelistL)
     self.addItem_FatherIconName.setCompleter(self.IconCurrentFilelistLCom)
     self.additemFromNode(self.addItem_FatherIconName,self.IconCurrentFilelistL)
     self.addItem_FatherIconName.setEditText(self.tempCurrentIconName)
示例#9
0
 def setAutocompleteFinanceiro(self):
     # Setando Auto complete
     self.completer = QtWidgets.QCompleter(self)
     self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
     self.completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
     self.model = QtCore.QStringListModel(self)
     self.completer.setModel(self.model)
     self.tx_NomeFantasia.setCompleter(self.completer)
示例#10
0
    def _reset(self):
        status = QtWidgets.QMessageBox.warning(
            self,
            "Reset",
            "Are you sure to reset the settings?",
            buttons=QtWidgets.QMessageBox.Cancel | QtWidgets.QMessageBox.Ok,
            defaultButton=QtWidgets.QMessageBox.Ok)

        if status == QtWidgets.QMessageBox.Ok:
            self.usernameLineEdit.clear()
            self.engineEdit.pathEdit.clear()
            self.usernames.clear()
            self.engines.clear()
            self.usernameLineEdit.setCompleter(QtWidgets.QCompleter())
            self.engineEdit.pathEdit.setCompleter(QtWidgets.QCompleter())
            self.settings.clear()
            self._loadSettings()
示例#11
0
 def __init__(self, *args, **kwargs):
     super(CompleterCombobox, self).__init__(*args, **kwargs)
     # set completer for search
     self.completer = QtWidgets.QCompleter()
     self.completer.setFilterMode(QtCore.Qt.MatchContains)
     self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
     self.setEditable(True)
     self.setCompleter(self.completer)
示例#12
0
 def setCompleter(self, names):
     # definimos un completer con los nombres especificados
     self.names = names
     completer = QtWidgets.QCompleter(names)
     # hacemos que no sea case sensible
     completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
     self.intro_inicio.setCompleter(completer)
     self.intro_destino.setCompleter(completer)
示例#13
0
    def _initialiseCompleter(self):
        completer = QtWidgets.QCompleter(self._ui.lineEditSearch)
        completer.setCompletionMode(QtWidgets.QCompleter.UnfilteredPopupCompletion)
        completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        completer.setModel(self._list_model)
        completer.setCompletionColumn(0)
        completer.setCompletionRole(QtCore.Qt.DisplayRole)

        return completer
示例#14
0
    def _set_completer(self):
        """Add the current list of assets to the name editor's completer.

        """
        source = '/'.join((self.server, self.job, self.root))
        items = [f.name for f in os.scandir(source) if f.is_dir()]
        completer = QtWidgets.QCompleter(items, parent=self)
        completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        common.set_stylesheet(completer.popup())
        self.name_editor.setCompleter(completer)
示例#15
0
    def init_data(self):
        items = []

        for name, path in self.parent().job_editor.item_generator(self.server):
            items.append(name)

        completer = QtWidgets.QCompleter(items, parent=self)
        completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        common.set_stylesheet(completer.popup())
        self.name_editor.setCompleter(completer)
示例#16
0
    def _add_completer(self):
        items = []
        for info in QtCore.QStorageInfo.mountedVolumes():
            if info.isValid():
                items.append(info.rootPath())
        items += common.servers.values()

        completer = QtWidgets.QCompleter(items, parent=self)
        completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        common.set_stylesheet(completer.popup())
        self.editor.setCompleter(completer)
示例#17
0
 def __init__(self, defaultText=None, completerStrings=None, parent=None):
     super(CueLineEdit, self).__init__(parent=parent)
     self.setText(defaultText)
     self.index = -1
     self.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding,
                        QtWidgets.QSizePolicy.Fixed)
     self.completer = QtWidgets.QCompleter()
     try:
         self.completerModel = QtCore.QStringListModel()
     except AttributeError:
         self.completerModel = QtGui.QStringListModel()
     self.completerStrings = completerStrings or []
     self.setupCompleter()
     self.setStyleSheet(Style.LINE_EDIT)
示例#18
0
 def __init__(self, model, separator=' ', addSpaceAfterCompleting=True):
     super(AutoCompleteEdit, self).__init__()
     self._separator = separator
     self._addSpaceAfterCompleting = addSpaceAfterCompleting
     self._completer = QtWidgets.QCompleter(model)
     self._completer.setWidget(self)
     self.connect(
             self._completer,
             QtCore.SIGNAL('activated(QString)'),
             self._insertCompletion)
     self._keysToIgnore = [QtCore.Qt.Key_Enter,
                           QtCore.Qt.Key_Return,
                           QtCore.Qt.Key_Escape,
                           QtCore.Qt.Key_Tab]
示例#19
0
 def collection_active(self):
     """collection_active"""
     select = self.se_collection_cbox.currentText()
     if select in ['刷新']:
         self.collec.refresh_name_list()
         self.se_collection_cbox.clear()
         self.se_collection_cbox.addItems(self.collec.get_name_list())
         self.se_collection_cbox.addItems(['刷新', '自定义'])
         completer = QtWidgets.QCompleter(self.collec.get_name_list())
         completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
         self.se_collection_cbox.setCompleter(completer)
     elif select in ['自定义']:
         self.collec.open_collection_file(self)
     else:
         self.get_current_se_box().setPlainText(self.collec.get_msg(select))
示例#20
0
def buildCompleter(jsonfile):
    """Create QCompleter from jsonfile."""
    strlist = []
    jsondict = {}
    with open(jsonfile, 'r') as f:
        jsondict = json.load(f)

    for x in jsondict.keys():
        for item in jsondict[x]:
            strlist.append(item)

    comp = QtWidgets.QCompleter(strlist)
    comp.popup().setStyleSheet(hou.qt.styleSheet())
    comp.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
    return comp
示例#21
0
    def additional_gui_setup(self):
        # Additional GUI setup
        self.setWindowTitle('{} v{} ({})'.format(__appname__, __version__,
                                                 last_update))
        self.banner_image.mouseReleaseEvent = MainWindow.banner_click
        self.banner_button.mouseReleaseEvent = MainWindow.banner_click
        self._path_message("", MainWindow.MSG_OK)
        self._avoid_message("", MainWindow.MSG_OK)
        self.lineEdit_source.setFocus()
        self.lineEdit_short_format.mousePressEvent = partial(
            MainWindow.short_format_click, self)

        # Auto-completion
        system_list = self.nav.eve_db.system_name_list()
        for line_edit_field in [
                self.lineEdit_source,
                self.lineEdit_destination,
                self.lineEdit_avoid_name,
                self.lineEdit_set_dest,
        ]:
            completer = QtWidgets.QCompleter(system_list, self)
            completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
            line_edit_field.setCompleter(completer)

        # Signals
        self.pushButton_eve_login.clicked.connect(self.btn_eve_login_clicked)
        self.pushButton_player_location.clicked.connect(
            self.btn_player_location_clicked)
        self.pushButton_find_path.clicked.connect(self.btn_find_path_clicked)
        self.pushButton_trip_config.clicked.connect(
            self.btn_trip_config_clicked)
        self.pushButton_trip_get.clicked.connect(self.btn_trip_get_clicked)
        self.pushButton_avoid_add.clicked.connect(self.btn_avoid_add_clicked)
        self.pushButton_avoid_delete.clicked.connect(
            self.btn_avoid_delete_clicked)
        self.pushButton_avoid_clear.clicked.connect(
            self.btn_avoid_clear_clicked)
        self.pushButton_set_dest.clicked.connect(self.btn_set_dest_clicked)
        self.pushButton_reset.clicked.connect(self.btn_reset_clicked)
        self.lineEdit_source.returnPressed.connect(
            self.line_edit_source_return)
        self.lineEdit_destination.returnPressed.connect(
            self.line_edit_destination_return)
        self.lineEdit_avoid_name.returnPressed.connect(
            self.line_edit_avoid_name_return)
        self.lineEdit_set_dest.returnPressed.connect(self.btn_set_dest_clicked)
        self.tableWidget_path.itemSelectionChanged.connect(
            self.table_item_selection_changed)
示例#22
0
    def set_completer(self):
        proxy = self.parent().model()
        model = proxy.sourceModel()

        v = model.get_local_setting(common.TextFilterKeyHistory)
        v = v.split(';') if v else []
        v.reverse()
        v = [f for f in v if f]

        completer = QtWidgets.QCompleter(v, parent=self.editor)
        completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        common.set_stylesheet(completer.popup())

        self.editor.setCompleter(completer)

        self.history_button.clicked.connect(self.show_history)
 def init_gui(self):
     # set search field
     self.lineEdit = QtWidgets.QLineEdit(self)
     action = QtWidgets.QWidgetAction(self)
     action.setDefaultWidget(self.lineEdit)
     self.addAction(action)
     self.lineEdit.setFocus()
     # completion
     items = list_scripts()
     items.extend(list_commands())
     completer = QtWidgets.QCompleter(items, self)
     completer.setCompletionMode(QtWidgets.QCompleter.PopupCompletion)
     completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
     self.lineEdit.setCompleter(completer)
     # connect signals
     self.lineEdit.returnPressed.connect(self.accept)
示例#24
0
    def __init__(self,
                 options: OptionsWidget,
                 parent: QtWidgets.QWidget = None):
        super().__init__(options, parent=parent)

        self.element = ValidColorLineEdit(
            color_bad=QtGui.QColor(255, 255, 172))
        self.element.setValid(False)
        self.element.setCompleter(
            QtWidgets.QCompleter(list(npdata.data.keys())))
        self.element.textChanged.connect(self.elementChanged)

        self.density = UnitsWidget(
            {
                "g/cm³": 1e-3 * 1e6,
                "kg/m³": 1.0
            },
            default_unit="g/cm³",
        )
        self.molarmass = UnitsWidget(
            {
                "g/mol": 1e-3,
                "kg/mol": 1.0
            },
            default_unit="g/mol",
            invalid_color=QtGui.QColor(255, 255, 172),
        )
        self.molarratio = ValidColorLineEdit("1.0")
        self.molarratio.setValidator(QtGui.QDoubleValidator(0.0, 1.0, 4))

        self.element.setToolTip("Input formula for density and molarratio.")
        self.density.setToolTip("Sample particle density.")
        self.molarmass.setToolTip(
            "Molecular weight, used to calcullate # atoms per particle.")
        self.molarratio.setToolTip(
            "Ratio of the mass of the particle to the analyte.")

        self.density.valueChanged.connect(self.optionsChanged)
        self.molarmass.valueChanged.connect(self.optionsChanged)
        self.molarratio.textChanged.connect(self.optionsChanged)

        self.inputs.layout().addRow("Formula:", self.element)
        self.inputs.layout().addRow("Density:", self.density)
        self.inputs.layout().addRow("Molar mass:", self.molarmass)
        self.inputs.layout().addRow("Molar ratio:", self.molarratio)
示例#25
0
    def _read_success(self):
        """Actions when _read_files has run without error"""
        self._table_model = MainTableModel(self._csv_set.df,
                                           self._filter_manager)
        self._filter_manager.set_model(self._table_model)
        self._filter_manager.file_opened()
        self._table_view.setModel(self._table_model)

        # self._table_view.resizeColumnsToContents()  # too slow

        self._completer = QtWidgets.QCompleter(self._table_model.df_columns)
        self._completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self._filter_le.setCompleter(self._completer)
        self.setWindowTitle(self._csv_set.title)

        # display
        self._logo_widget.hide()
        self._csv_widget.show()
        self._update_hits()
示例#26
0
    def __init__(self, parent=None, flags=QtCore.Qt.Window):
        super().__init__(parent=parent, f=flags)
        self.setWindowTitle("Build a formula")
        self.setWindowModality(QtCore.Qt.ApplicationModal)
        self.interpreter = None
        self.key = ("", "")

        # 6 broad by 6 deep.
        grid = QtWidgets.QGridLayout(self)
        self.text_field = QtWidgets.QLineEdit(self)
        self.text_field.textChanged.connect(self.validate_formula)
        self.buttons = QtWidgets.QDialogButtonBox(
            QtWidgets.QDialogButtonBox.Save
            | QtWidgets.QDialogButtonBox.Cancel)
        self.buttons.setSizePolicy(
            QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                  QtWidgets.QSizePolicy.Preferred,
                                  QtWidgets.QSizePolicy.ButtonBox))
        self.parameters = QtWidgets.QTableView(self)
        model = QtGui.QStandardItemModel(self)
        self.parameters.setModel(model)
        completer = QtWidgets.QCompleter(model, self)
        completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.text_field.setCompleter(completer)
        self.parameters.doubleClicked.connect(self.append_parameter_name)
        self.new_parameter = QtWidgets.QPushButton(qicons.add, "New parameter",
                                                   self)
        self.new_parameter.clicked.connect(self.create_parameter)

        self.calculator = CalculatorButtons(self)
        self.calculator.button_press.connect(self.text_field.insert)
        self.calculator.clear.connect(self.text_field.clear)

        grid.addWidget(self.text_field, 0, 0, 5, 1)
        grid.addWidget(self.buttons, 5, 0, 1, 1)
        grid.addWidget(self.calculator, 0, 1, 5, 1)
        grid.addWidget(self.parameters, 0, 2, 5, 1)
        grid.addWidget(self.new_parameter, 5, 2, 1, 1)

        self.buttons.accepted.connect(self.accept)
        self.buttons.rejected.connect(self.reject)
        self.show()
示例#27
0
    def initialise(self) -> None:
        elements = self.widget.laser.elements
        self.combo_element.clear()
        self.combo_element.addItem("Elements")
        self.combo_element.addItems(elements)

        name = "calc0"
        i = 1
        while name in elements:
            name = f"calc{i}"
            i += 1
        self.lineedit_name.setText(name)
        self.formula.parser.variables = elements
        self.formula.setCompleter(
            QtWidgets.QCompleter(
                list(self.formula.parser.variables)
                + [k + "(" for k in CalculatorTool.functions.keys()]
            )
        )
        self.formula.valid = True
        self.formula.setText(self.widget.combo_element.currentText())  # refreshes
示例#28
0
文件: panel.py 项目: Palfore/OSRSmath
    def nmz_only_changed(self):
        if self.nmz_only.isChecked():
            opponents = []
            for item_id, data in self.monster_data.items():
                if any(name.lower() in data['name'].lower()
                       for name in NMZ_BOSSES):
                    opponents.append((data['id'], {'name': data['name']}))
        else:
            opponents = self.monster_data.items()
        items = [
            f"{data['name'].lower()}{self.SEPERATOR}{ID}"
            for ID, data in opponents
        ]

        self.search.clear()
        completer = QtWidgets.QCompleter([i.lower() for i in items])
        self.search.addItems(items)
        self.search.setCompleter(completer)
        self.search.completer().setCompletionMode(
            QtWidgets.QCompleter.PopupCompletion)
        self.on_select()
示例#29
0
 def set_completer_name(self):
     names = [n[0] for n in db.query(db.Participant.name).all()]
     completer = QtWidgets.QCompleter(names)
     self.line_edit_participant.setCompleter(completer)
示例#30
0
    def __contextAction(self):
        # self._prevCollection = self._menuToolbar.collectionComboBox.currentText()
        self.__updateLegendHistory()
        if self._unsaved:
            self.__unsavedPrompt(
                self._menuToolbar.collectionComboBox.currentText())
        # if context is changed, update collectionComboBox and ModifierComboBoxes
        self._currentContext = self._menuToolbar.contextComboBox.currentText()
        self._collectionsDir = os.path.join(self._rootpath, 'json',
                                            self._currentContext)

        if self._currentContext in [
                'SOP', 'VOP', 'DOP', 'COP', 'CHOP', 'OBJ', 'ROP'
        ]:
            # build completer based on current context
            strlist = []
            jsondict = {}

            # add HDAs to strlist
            context2 = self._currentContext[0] + self._currentContext[
                1:].lower()
            all_types = []

            categories = hou.nodeTypeCategories()
            for category in categories.keys():
                node_types = categories[category].nodeTypes()
                for node_type in node_types.keys():
                    all_types.append(node_types[node_type].nameWithCategory())

            # split off version and namespace
            temp = []
            for a in all_types:
                asplit = a.split('::')
                if len(asplit) == 1:
                    temp.append(asplit[0])
                elif len(asplit) == 2:
                    if len(asplit[0]) > len(asplit[1]):
                        temp.append(asplit[0])
                    else:
                        temp.append(asplit[1])
                elif len(asplit) == 3:
                    temp.append(asplit[1])

            all_types = temp
            alltypeset = set(all_types)
            contextHDAs = [a.split('/')[-1] for a in alltypeset]
            strlist = strlist + list(set(contextHDAs) - set(strlist))

            # assign completer
            self.nodeCompleter = QtWidgets.QCompleter(strlist)
            self.nodeCompleter.popup().setStyleSheet(hou.qt.styleSheet())
            self.nodeCompleter.setCompletionMode(
                QtWidgets.QCompleter.PopupCompletion)

        # refilter collections by context
        self._collections = utils.filterCollections(self._collectionsDir,
                                                    self._currentContext)

        self.collectionsLabels = [
            os.path.splitext(a)[0] for a in self._collections
        ]

        self._menuToolbar.collectionComboBox.clear()
        self._menuToolbar.collectionComboBox.insertItems(
            0, self.collectionsLabels)

        # modifier combo boxes
        self._menuPrefs = utils.loadMenuPreferences(
            os.path.join(self._rootpath, 'json', 'menuprefs.json'))
        try:
            shiftItem = self._menuPrefs[self._currentContext]['Shift']
            self._modifierComboBoxes.shift.comboBox.clear()
            self._modifierComboBoxes.shift.comboBox.insertItems(
                0, self.collectionsLabels)
            self._modifierComboBoxes.shift.comboBox.setCurrentIndex(
                self._collections.index(shiftItem))

            controlItem = self._menuPrefs[self._currentContext]['Control']
            self._modifierComboBoxes.ctrl.comboBox.clear()
            self._modifierComboBoxes.ctrl.comboBox.insertItems(
                0, self.collectionsLabels)
            self._modifierComboBoxes.ctrl.comboBox.setCurrentIndex(
                self._collections.index(controlItem))
        except ValueError:
            pass