Ejemplo n.º 1
0
def func():
    it = QTreeWidgetItemIterator(tree, flags=QTreeWidgetItemIterator.All)
    mx = tree.topLevelItemCount()
    c = 0
    tempath = []
    while it.value():
        if mx > c:
            item = it.value()
            if item.isExpanded():
                tempath = [item.text(0)]
            MX = item.childCount()
            C = 0
            nit = QTreeWidgetItemIterator(item,
                                          flags=QTreeWidgetItemIterator.All)
            while nit.value():
                if MX > C:
                    global a
                    a = nit.value().parent()
                    if nit.value().text(0) == "jake":
                        tempath.append("jake")
                        MX = 0
                        mx = 0
                        break
                    nit += 1
                    C += 1
                else:
                    break
            it += 1
            c += 1
        else:
            break
Ejemplo n.º 2
0
    def get_data(self):

        self.pb.setValue(0)
        queue = Queue()
        self.result_queue = Queue()
        self.systems_list = []
        self.options = {'correlation': self.corr_btn.isChecked(), 'decomposition': self.show_decomp_btn.isChecked(),
                   'components': [x.text() for x in [self.com_btn, self.rec_btn, self.lig_btn] if x.isChecked()],
                        'remove_empty_charts': self.remove_empty_charts_btn.isChecked(),
                        'remove_empty_terms':self.remove_empty_terms_btn.isChecked() ,'hide_toolbar':
                            self.hide_tb_btn.isChecked()}
        it = QTreeWidgetItemIterator(self.f_item)
        while it.value():
            item = it.value()
            if item.checkState(1) == Qt.Checked and item.info:
                self.systems_list.append(item.info)
            it += 1
        self.pb.setRange(0, len(self.systems_list))
        if not len(self.systems_list):
            m = QMessageBox.critical(self, 'Error processing systems', 'You must select at least one system.',
                                     QMessageBox.Ok)
            return

        it = QTreeWidgetItemIterator(self.f_item)
        while it.value():
            item = it.value()
            if item.checkState(1) == Qt.Checked and item.info:
                queue.put(item.info[1])
                self.systems_list.append(item.info)
            it += 1
        self.worker.define_dat(API.load_gmxmmpbsa_info, queue, self.result_queue, self.jobs_spin.value())
        self.worker.start()
Ejemplo n.º 3
0
    def get_hierarchies(self, **kwargs):
        """ return selected hierarchy
        """
        only_selected = kwargs.get('only_selected', None)

        sets_to_display = list()

        if only_selected:
            iterator = QTreeWidgetItemIterator(self.hierarchy_widget,
                                               QTreeWidgetItemIterator.Checked)
        else:
            iterator = QTreeWidgetItemIterator(self.hierarchy_widget)

        while iterator.value():
            # note: if hierarchy value is not a tuple, then this is just top level qTreeWidgetItem that
            #       holds subcategories. We don't want to display all sets from category
            if type(iterator.value().hierarchy) is not str:

                if not only_selected:
                    sets_to_display.append(iterator.value().hierarchy)
                else:
                    if not iterator.value().isDisabled():
                        sets_to_display.append(iterator.value().hierarchy)

            iterator += 1

        return sets_to_display
Ejemplo n.º 4
0
 def actionClick(self, txt):
     if not txt:
         return
     p = ''.join((r'.*', txt, r'.*'))
     obj = re.compile(p)
     cursor = QTreeWidgetItemIterator(self.treeWidget)
     while cursor.value():
         item = cursor.value()
         if item is not self.treeWidget._rootItem:
             item.setExpanded(False)
             item.setSelected(False)
         cursor = cursor.__iadd__(1)
     cursor = QTreeWidgetItemIterator(self.treeWidget)
     while cursor.value():
         item = cursor.value()
         if item is self.treeWidget._rootItem:
             cursor = cursor.__iadd__(1)
             continue
         if item.parent() is self.treeWidget._rootItem:
             cursor = cursor.__iadd__(1)
             continue
         itemtext = item.text(0)
         if obj.match(itemtext):
             self.ChangeParentExpanded(item)
             item.setSelected(True)
         cursor = cursor.__iadd__(1)
    def make_puzzle(self):
        word_image = []
        if self.tree.topLevelItemCount() == 0:
            self.start_download()
            return

        self.disable_buttons()

        if self.picture_on:
            iterator = QTreeWidgetItemIterator(
                self.tree, QTreeWidgetItemIterator.HasChildren)
        else:
            iterator = QTreeWidgetItemIterator(self.tree,
                                               QTreeWidgetItemIterator.All)
            if iterator.value() is None:
                self.c.press_set_keyword_bt.emit()
                q = QMessageBox(self)
                q.information(self, 'information',
                              '검색어 키워드가 존재하지 않아요. 그래서 검색어 키워드 버튼을 대신 눌렀습니다~.',
                              QMessageBox.Ok)
                self.enable_buttons()
                return
        while iterator.value():
            item = iterator.value()
            word = item.data(0, 0)
            pic = ''
            if self.picture_on:
                pic = item.path
                if not os.path.exists(pic):
                    self.c.press_set_keyword_bt.emit()
                    self.enable_buttons()
                    q = QMessageBox(self)
                    q.information(self, 'information',
                                  '선택하신 이미지가 존재하지 않습니다. 다시 다운로드 눌러주세요.',
                                  QMessageBox.Ok)
                    return
            if word.strip().find(' ') != -1:
                if self.korean:
                    word = '가'.join(word.split())
                else:
                    word = 'a'.join(word.split())
            word_image.append([word, pic])
            iterator += 1

        self.path = self.get_save_hwp_dir()
        if self.path:
            puzzle_worker = PuzzleWorker(wordsearch_generater.MakeWordSearch,
                                         word_image, self.width, self.height,
                                         self.diff, self.option,
                                         self.picture_on, self.korean,
                                         self.chosung_scramable,
                                         self.uppercase, self.path)
            puzzle_worker.signal.puzzle_complete.connect(self.puzzle_finish)
            puzzle_worker.signal.recursionerrormsg.connect(self.recurerrormsg)
            puzzle_worker.signal.valueerrormsg.connect(self.valerrormsg)
            self.threadpool.start(puzzle_worker)
        else:
            self.enable_buttons()
Ejemplo n.º 6
0
    def choose_slide(self):
        word_image = []
        if self.tree.topLevelItemCount() == 0:
            self.start_download()
            return

        self.disable_buttons()

        if self.picture_on:
            iterator = QTreeWidgetItemIterator(
                self.tree, QTreeWidgetItemIterator.HasChildren)
        else:
            iterator = QTreeWidgetItemIterator(self.tree,
                                               QTreeWidgetItemIterator.All)
            if iterator.value() is None:
                self.c.press_set_keyword_bt.emit()
                q = QMessageBox(self)
                q.information(self, 'information',
                              '검색어 키워드가 존재하지 않아요. 그래서 검색어 키워드 버튼을 대신 눌렀습니다~.',
                              QMessageBox.Ok)
                self.enable_buttons()
                return
            else:
                self.start_download()
                q = QMessageBox(self)
                q.information(self, 'information',
                              '사진이 존재하지 않습니다. 이미지 다운로드를 눌렀습니다.',
                              QMessageBox.Ok)
                self.enable_buttons()
                return

        while iterator.value():
            item = iterator.value()
            word = item.data(0, 0)
            pic = ''
            if self.picture_on:
                pic = item.path
                if not os.path.exists(pic):
                    self.c.press_set_keyword_bt.emit()
                    self.enable_buttons()
                    q = QMessageBox(self)
                    q.information(self, 'information',
                                  '선택하신 이미지가 존재하지 않습니다. 다시 다운로드 눌러주세요.',
                                  QMessageBox.Ok)
                    return
            word_image.append([word, pic])
            iterator += 1

        self.slide_widget = ChooseSlide(self.c, word_image)
        self.enable_buttons()
Ejemplo n.º 7
0
    def okButtonClicked(self):
        modules_to_process = {'delete': [], 'install': []}

        iterator = QTreeWidgetItemIterator(self.tree)

        item = iterator.value()
        while item is not None:
            if item.parent() is not None:
                if item.parent().parent() is not None:
                    # handle the installed modules to delete
                    repo_name = item.parent().parent().text(0)
                    if repo_name == INSTALLED_MODULES:
                        if item.checkState(0) == Qt.Unchecked:
                            modules_to_process['delete'].append(item.text(0))
                    # handle the remote modules to install
                    else:
                        if item.checkState(0) == Qt.Checked:
                            item_dict = {
                                'name': item.text(0),
                                'repository': repo_name,
                            }
                            modules_to_process['install'].append(item_dict)
            iterator += 1
            item = iterator.value()

        self.installAndUninstallModules(modules_to_process)
Ejemplo n.º 8
0
    def draw_stuff(self):
        it = QTreeWidgetItemIterator(self.treeWidget_formula)
        while it.value():
            item = it.value()
            # 标记为0的列即为未领够料的记录
            if item.text(9) == '0':
                stuffkind = item.text(2)
                precision = int(item.text(7))
                loss = item.text(8)
                # 处理产品信息的变量,去除系统变量
                item.setText(4, self.reckon_expression(item.text(4), 1))
                # 计划量
                try:
                    presamount = Decimal(
                        rnd(eval(item.text(4), evalenv(self)), precision))
                except SyntaxError:
                    if stuffkind + ' 计划量' not in self.errormsg:
                        self.errormsg.append(stuffkind + ' 计划量')
                    presamount = 0

                # 把计划量加到产品信息变量中
                # self.detail['presamount'] = presamount
                # 实际量公式,去除系统变量
                item.setText(5, self.reckon_expression(item.text(5), 1))
                # 领取量公式,去除系统变量
                item.setText(6, self.reckon_expression(item.text(6), 1))
                # 计算领料量,返回领料情况res, 和标记:是否已经领购料
                res = self.reckon_drawamount(stuffkind, presamount, precision,
                                             item.text(5), item.text(6), loss)
                if len(res):
                    self.treeWidget_drawstuff_add_item(res)
            it += 1
        self.is_drawamount_enough()
Ejemplo n.º 9
0
 def selectAll(self):
     iterator = QTreeWidgetItemIterator(self.treeWidget)
     iterator += 1
     while iterator.value():
         item = iterator.value()
         item.setCheckState(0, Qt.Checked)
         iterator += 1
Ejemplo n.º 10
0
    def set_state(self, value):
        self.tab.blockSignals(True)
        iterator = QTreeWidgetItemIterator(self.tab)

        while iterator.value():
            item = iterator.value()

            path = []

            while item is not None:
                path.append(str(item.text(0)))
                item = item.parent()

            path = "/".join(reversed(path))
            path = path.split('/')
            if len(path) > 1:
                path = path[1:]
                if path[0] == value:
                    item = iterator.value()
                    if len(path) == 1:
                        checked = item.checkState(0)
                        #checked=bool(checked)

                    if len(path) > 1:
                        item.setCheckState(0, checked)

            iterator += 1

        self.tab.blockSignals(False)
Ejemplo n.º 11
0
 def clearSitesToApply(self):
     """ unchecks all objects in site_tree_widget """
     iterator = QTreeWidgetItemIterator(self.site_tree_widget, QTreeWidgetItemIterator.Checked)
     while iterator.value():
         obj = iterator.value()
         obj.setCheckState(0, Qt.Unchecked)
         iterator += 1
Ejemplo n.º 12
0
 def findParentWidget(self, findID=None):
     '''scan the tree and find the treeviewwidget with the matching parentOrder'''
     # if the find id is None then this is the root so return the tree view itself
     if findID is None:
         return self.tvOutline
     # find the parent tree view widget
     parentWidget = None
     # iterate through the treeview
     tvOutlineIterator = QTreeWidgetItemIterator(self.tvOutline, flags = QTreeWidgetItemIterator.All)
     while tvOutlineIterator:
         if not tvOutlineIterator.value() is None:
             # get the treeview widget
             tvWidget = tvOutlineIterator.value()
             # get the form item object from the widget
             formItem = tvWidget.data(0, Qt.UserRole)
             # get the idNum of the form item object
             idNum = formItem.itemDict["idNum"]
             # check to see if this is the idNum we're looking for
             if idNum == findID:
                 parentWidget = tvWidget
                 break
             tvOutlineIterator.__iadd__(1)
         else:
             break     
             
     return parentWidget        
Ejemplo n.º 13
0
 def items(self):
     iterator = QTreeWidgetItemIterator(self.ui.plugins,
                                        QTreeWidgetItemIterator.All)
     while iterator.value():
         item = iterator.value()
         iterator += 1
         yield item
Ejemplo n.º 14
0
    def findParentWidget(self, findOrder=None):
        '''scan the tree and find the treeviewwidget with the matching parentOrder'''
        # if the find id is None then this is the root so return the tree view itself
        if findOrder is None:
            return self.tvPath
        # find the parent tree view widget
        parentWidget = None
        # iterate through the treeview
        tvPathIterator = QTreeWidgetItemIterator(
            self.tvPath, flags=QTreeWidgetItemIterator.All)
        while tvPathIterator:
            if not tvPathIterator.value() is None:
                queryPathNodeItem = tvPathIterator.value()
                queryPathNodeDict = queryPathNodeItem.data(0,
                                                           Qt.UserRole).dict()
                order = queryPathNodeDict.get("order", 0)
                # save the value for order if it's greater
                if order == findOrder:
                    parentWidget = queryPathNodeItem
                    break
                tvPathIterator.__iadd__(1)
            else:
                break

        return parentWidget
Ejemplo n.º 15
0
 def find_selected_items(self):
     """Iterate over all children of the tree and save selected items to dictionary."""
     self.cp_objs = {}
     self.iterator = QTreeWidgetItemIterator(self.tree,
                                             QTreeWidgetItemIterator.All)
     while self.iterator.value():
         item = self.iterator.value()
         if item.checkState(
                 0) == 2:  #full-box checked, add item to dictionary
             if item.parent() is not None:  #2nd level item (at least)
                 if item.parent().text(
                         0
                 ) in self.cp_objs:  #append if parent already present as key in dictionary
                     if self.cp_objs[item.parent().text(
                             0)] == True:  #remove boolean parent key:value
                         self.cp_objs.pop(item.parent().text(0), None)
                         self.cp_objs[item.parent().text(0)] = [
                             item.text(0)
                         ]
                     else:
                         self.cp_objs[item.parent().text(0)].append(
                             item.text(0))
                 else:  #add new list with item, if parent not yet a key in dictionary
                     self.cp_objs[item.parent().text(0)] = [item.text(0)]
             else:  #1st level item
                 self.cp_objs[item.text(0)] = True
         self.iterator += 1
     self.console.push_vars({'cp_objs': self.cp_objs})
Ejemplo n.º 16
0
    def click_ActiveFairyComboboxItem(self,i):
    #当点击已激活精灵复选框内容时执行的函数
        
        # 显示点击的精灵的信息
        fairyID = self.ActiveFairyComboBox.currentText()
        if(fairyID =="已激活的精灵"):
            self.defaultUi()
        else:
            self.fairyInfoShow(fairyID)
            
        # 已激活精灵复选框选项刷新
        self.reflashActiveFairyComboBox()
        
        # 选中并展开TreeWidget对应项

        item = QTreeWidgetItemIterator(self.treeWidget)# 获取一个迭代器
        # 利用迭代器遍历TreeWidget,找被选中的精灵,然后在TreeWidget展开、选中
        while(item.value()):
            if(item.value().text(0)==fairyID):
                self.treeWidget.expandItem(item.value())
                item.value().child(0).setSelected(True)
                break
            else:
                item.value().setSelected(False)
            item.__iadd__(1)  # 迭代器位置+1
Ejemplo n.º 17
0
    def copy_tree(self):
        """Copy the tree to the clipboard."""

        items = []
        inval_index = QModelIndex()
        it = QTreeWidgetItemIterator(self)
        prev_depth = 0
        while it.value():
            depth = 0
            item = it.value()
            parent = item.parent()
            while parent:
                depth += 1
                parent = parent.parent()

            if depth < prev_depth:
                items.extend(["  |" * depth, "\n"])

            if depth:
                items.extend(["  |" * depth, "--", item.text(0), "\n"])
            else:
                items.extend([item.text(0), "\n"])

            prev_depth = depth
            it += 1

        QApplication.clipboard().setText("".join(items))
Ejemplo n.º 18
0
 def selectAllSitesToApply(self):
     """ checks all objects in site_tree_widget, may be useful if the user
     wants to select all but a few in the list"""
     iterator = QTreeWidgetItemIterator(self.site_tree_widget, QTreeWidgetItemIterator.NotChecked)
     while iterator.value():
         obj = iterator.value()
         obj.setCheckState(0, Qt.Checked)
         iterator += 1
Ejemplo n.º 19
0
 def fetch_item_by_node(self, node):
     iterator = QTreeWidgetItemIterator(self)
     while iterator.value():
         item = iterator.value()
         if item.node is node:
             return item
         iterator += 1
     return None
Ejemplo n.º 20
0
 def select_all_checkbox(self):
     iterator = QTreeWidgetItemIterator(self.ui.treeWidget_select_test)
     while iterator.value():
         item = iterator.value()
         item.setCheckState(0, QtCore.Qt.Checked)
         iterator += 1
         self.ui.select_all_button.setEnabled(False)
         self.ui.deselect_all_button.setEnabled(True)
Ejemplo n.º 21
0
def find_parent_node(tree, parent_id):
    iterator = QTreeWidgetItemIterator(tree)
    while iterator.value():
        node = iterator.value()
        if get_node_data(node).node_id == parent_id:
            return node
        iterator += 1
    return None
Ejemplo n.º 22
0
 def find_checked(self):
     iterator = QTreeWidgetItemIterator(self.main.treeWidget)
     # print(iterator)
     while iterator.value():
         item = iterator.value()
         if item.checkState(0):
             self.checked.append(item.text(0))
         iterator += 1
Ejemplo n.º 23
0
 def unselect_all(self):
     iterator = QTreeWidgetItemIterator(self.main.treeWidget)
     while iterator.value():
         item = iterator.value()
         item.setCheckState(0, QtCore.Qt.Unchecked)
         iterator += 1
         self.main.pushBtnSelectAll.setEnabled(True)
         self.main.pushBtnUnselectAll.setEnabled(False)
Ejemplo n.º 24
0
 def setCurrentTreeItemByData(self, data):
   it = QTreeWidgetItemIterator(self.ui.treeWidget)
   while it.value():
     if it.value().data(0, Qt.UserRole) == data:
       self.ui.treeWidget.setCurrentItem(it.value())
       return True
     it += 1
   return False
Ejemplo n.º 25
0
 def _on_tree_item_selection_changed(self):
     iterator = QTreeWidgetItemIterator(self)
     while iterator.value():
         item = iterator.value()
         item.widget.hide()
         iterator += 1
     for item in self.selectedItems():
         item.widget.show()
Ejemplo n.º 26
0
 def check_status(self):
     iterator = QTreeWidgetItemIterator(self.ui.treeWidget_select_test)
     item = iterator.value()
     while iterator.value():
         if item.checkState(0):
             self.ui.select_all_button.setEnabled(False)
             self.ui.deselect_all_button.setEnabled(True)
         iterator += 1
Ejemplo n.º 27
0
 def delete_drawstuff(self, qtreeitems):
     # qtreeitems: 选中的项目
     if len(qtreeitems):
         it = QTreeWidgetItemIterator(self.treeWidget_formula)
         root = self.treeWidget_drawstuff.invisibleRootItem()
         for item in qtreeitems:
             root.removeChild(item)
         self.is_drawamount_enough()
Ejemplo n.º 28
0
 def GetSelectedItems(self):
     interator = QTreeWidgetItemIterator(self.treeWidget,
                                         QTreeWidgetItemIterator.Checked)
     while (interator.value()):
         item = interator.value()
         self.arrayResult.append(item.text(0))
         interator += 1
     self.close()
Ejemplo n.º 29
0
 def on_header_sectionResized(self, p_int, p_int_1, p_int_2):
     try:
         it = QTreeWidgetItemIterator(self)
         while it.value():
             it.value().resetText(p_int, p_int_2)
             it += 1
     except ValueError:
         pass
Ejemplo n.º 30
0
 def hilightFormatInfoTree(self, range):
     iterator = QTreeWidgetItemIterator(self)
     while iterator.value():
         item = iterator.value()
         itemRange = item.data(0, Range.RangeRole)
         #item.setBackground(0, QColor("#dddddd") if itemRange is not None and itemRange.overlaps(range) else QColor("#ffffff"))
         #item.setProperty("class", "highlighted" if itemRange is not None and itemRange.overlaps(range) else "")
         iterator += 1