Beispiel #1
0
    def init_ana_widget(self):
        self.rlayout = QHBoxLayout()
        self.ana_widget.setLayout(self.rlayout)
        self.fig = Figure()
        self.canvas = FigureCanvas(self.fig)
        self.canvas_label = QLabel("Result")
        canvas_widget = QWidget()
        canvas_layout = QVBoxLayout()
        canvas_widget.setLayout(canvas_layout)
        canvas_layout.addWidget(self.canvas_label)
        canvas_layout.addWidget(self.canvas)
        canvas_layout.setStretch(0, 1)
        canvas_layout.setStretch(1, 20)

        self.tracklist_panel = QWidget()
        self.tracklist_layout = QVBoxLayout()
        self.tracklist_panel.setLayout(self.tracklist_layout)
        self.init_topic_tracklist()
        self.init_weibo_tracklist()
        self.tracklist_layout.addWidget(self.topic_tracklist_widget)
        self.tracklist_layout.addWidget(self.weibo_tracklist_widget)
        self.rlayout.addWidget(self.tracklist_panel)
        self.rlayout.addWidget(canvas_widget)
        cfg = self.scheduler.load_config()
        for topic_name in cfg['topic_tracklist']:
            self.topic_tracklist_model.appendRow(QStandardItem(topic_name))
        for weibo_id in cfg["weibo_id_tracklist"]:
            self.weibo_tracklist_model.appendRow(QStandardItem(str(weibo_id)))
Beispiel #2
0
 def log(self, msg, status_str="INFO"):
     time_str = datetime.now().strftime("%Y-%m-%d-%H:%M:%S")
     self.log_model.appendRow([
         QStandardItem(status_str),
         QStandardItem(time_str),
         QStandardItem(msg)
     ])
Beispiel #3
0
    def initialise (self, univers):
        model = QStandardItemModel (3,1)
    
        i = 0
        for faction in univers.faction_list :
            item = QStandardItem(faction.name)
            item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled);
            item.setData(QtCore.Qt.Unchecked, QtCore.Qt.CheckStateRole);

            model.setItem(i, 0, item)
            i = i + 1

        combo = QComboBox()
        combo.setModel(model)

        list_v = QListView()
        list_v.setModel(model)

        table = QTableView()
        table.setModel(model)

        container = QWidget()
        containerLayout = QVBoxLayout()
        container.setLayout(containerLayout)
        containerLayout.addWidget(combo)
        containerLayout.addWidget(list_v)
        containerLayout.addWidget(table)
Beispiel #4
0
 def __init__(self, spine, toc, depth, all_items, parent=None):
     text = toc.text
     if text:
         text = re.sub(r'\s', ' ', text)
     self.title = text
     self.parent = parent
     QStandardItem.__init__(self, text if text else '')
     self.abspath = toc.abspath if toc.href else None
     self.fragment = toc.fragment
     all_items.append(self)
     self.emphasis_font = QFont(self.font())
     self.emphasis_font.setBold(True), self.emphasis_font.setItalic(True)
     self.normal_font = self.font()
     for t in toc:
         self.appendRow(TOCItem(spine, t, depth+1, all_items, parent=self))
     self.setFlags(Qt.ItemIsEnabled)
     self.is_current_search_result = False
     spos = 0
     for i, si in enumerate(spine):
         if si == self.abspath:
             spos = i
             break
     am = {}
     if self.abspath is not None:
         try:
             am = getattr(spine[i], 'anchor_map', {})
         except UnboundLocalError:
             # Spine was empty?
             pass
     frag = self.fragment if (self.fragment and self.fragment in am) else None
     self.starts_at = spos
     self.start_anchor = frag
     self.start_src_offset = am.get(frag, 0)
     self.depth = depth
     self.is_being_viewed = False
Beispiel #5
0
 def getRegisterViewRow(self):
     null = QStandardItem("")
     null.setEditable(False)
     return [
         self.RegisterItem, self.address, self.length, self.signed,
         self.readWrite, self.title, self.description
     ]
Beispiel #6
0
 def __init__(self,
              toc,
              depth,
              all_items,
              normal_font,
              emphasis_font,
              parent=None):
     text = toc.get('title') or ''
     self.href = (toc.get('dest') or '')
     if toc.get('frag'):
         self.href += '#' + toc['frag']
     if text:
         text = re.sub(r'\s', ' ', text)
     self.title = text
     self.parent = parent
     self.node_id = toc['id']
     QStandardItem.__init__(self, text)
     all_items.append(self)
     self.normal_font, self.emphasis_font = normal_font, emphasis_font
     for t in toc['children']:
         self.appendRow(
             TOCItem(t,
                     depth + 1,
                     all_items,
                     normal_font,
                     emphasis_font,
                     parent=self))
     self.setFlags(Qt.ItemFlag.ItemIsEnabled)
     self.is_current_search_result = False
     self.depth = depth
     self.set_being_viewed(False)
Beispiel #7
0
 def __init__(self, spine, toc, depth, all_items, parent=None):
     text = toc.text
     if text:
         text = re.sub(r'\s', ' ', text)
     self.title = text
     self.parent = parent
     QStandardItem.__init__(self, text if text else '')
     self.abspath = toc.abspath if toc.href else None
     self.fragment = toc.fragment
     all_items.append(self)
     self.emphasis_font = QFont(self.font())
     self.emphasis_font.setBold(True), self.emphasis_font.setItalic(True)
     self.normal_font = self.font()
     for t in toc:
         self.appendRow(TOCItem(spine, t, depth+1, all_items, parent=self))
     self.setFlags(Qt.ItemIsEnabled)
     self.is_current_search_result = False
     spos = 0
     for i, si in enumerate(spine):
         if si == self.abspath:
             spos = i
             break
     am = {}
     if self.abspath is not None:
         try:
             am = getattr(spine[i], 'anchor_map', {})
         except UnboundLocalError:
             # Spine was empty?
             pass
     frag = self.fragment if (self.fragment and self.fragment in am) else None
     self.starts_at = spos
     self.start_anchor = frag
     self.start_src_offset = am.get(frag, 0)
     self.depth = depth
     self.is_being_viewed = False
Beispiel #8
0
    def insertProject(self, project):
        """Função responsável por inserir um novo projeto na árvore da UI"""

        projeto = QStandardItem(project.name)

        # Adiciona todas as listas que o projeto possui
        for key in sorted(project.dirList):

            lista1 = QStandardItem(project.dirList[key].name)
            projeto.appendRow(lista1)

        self.rootNode.appendRow(projeto)
Beispiel #9
0
    def __init__(self):
        super().__init__()

        model = QStandardItemModel()

        for x in range(10):
            item = QStandardItem('Foo' + str(x))
            item.setChild(0, QStandardItem('Zoo'))
            model.insertRow(0, item)

        # model.setItem(2, 2, QStandardItem('Bar'))
        self.setModel(model)
        self.setHeaderHidden(True)
 def displaysql(self):
     db = pymysql.connect("localhost",
                          "root",
                          "123456",
                          "flowdata",
                          charset="UTF8")
     cursor = db.cursor()
     cursor.execute("SELECT *FROM ANOMALYTYPE")
     rows = cursor.fetchall()
     if rows != ():
         row = cursor.rowcount  # 取得记录个数,用于设置表格的行数
         vol = len(rows[0])  # 取得字段数,用于设置表格的列数
         cursor.close()
         db.close()
         self.model = QStandardItemModel()
         self.model.setHorizontalHeaderLabels(
             ['异常发生时间', '异常流量源地址', '异常流量目的地址', '异常流量类型'])
         self.tableView.horizontalHeader().setStretchLastSection(True)
         self.tableView.horizontalHeader().setSectionResizeMode(
             QHeaderView.Stretch)
         for i in range(row):
             for j in range(vol):
                 temp_data = rows[i][j]
                 data = QStandardItem("%s" % (str(temp_data)))
                 self.model.setItem(i, j, data)
         self.tableView.setModel(self.model)
     else:
         cursor.close()
         db.close()
Beispiel #11
0
    def __init__(self, id_dict: dict, name_dict: dict, parent=None):
        """
        Supers QComboBox, but also creates class references to the categories dictionaries.

        Args:
            id_dict: Categories dictionary with id numbers as keys.
            name_dict: Categories dictionary with names as keys.
            parent: Widget parent.
        """
        super().__init__()
        self.id_dict = id_dict
        self.name_dict = name_dict
        cat_list = sorted(list(self.name_dict.keys()))
        self.fill_combo(cat_list)

        model = QStandardItemModel()
        for i, word in enumerate(cat_list):
            item = QStandardItem(word)
            model.setItem(i, 0, item)

        self.setModel(model)
        self.setModelColumn(0)

        if parent is not None:
            self.setParent(parent)
    def fillModelByCursor(self, cursor):
        i = 0
        setheader = False
        self.modeldata = []
        for item in cursor:
            j = 0
            items = item.items()

            if setheader == False:
                self.setColumnCount(len(items))
                self.labels = item.keys()
                if sys.version > '3':
                    self.labels = sorted(self.labels)
                else:
                    self.labels.sort()

                self.setHorizontalHeaderLabels(self.labels)
                setheader = True

            self.modeldata.append(item)

            for (field, value) in items:
                try:
                    fieldindex = self.labels.index(field)
                except ValueError:
                    self.labels.append(field)
                    fieldindex = len(self.labels) - 1
                    self.setHorizontalHeaderLabels(self.labels)

                valueBytes = str(value).encode("utf_8")
                self.setItem(
                    i, fieldindex,
                    QStandardItem(valueBytes.decode(encoding='utf_8')))
                j += 1
            i += 1
Beispiel #13
0
    def update_usb_devices(self):
        model = QStandardItemModel()
        bus = dbus.SystemBus()
        self.iface = 'org.freedesktop.DBus.ObjectManager'
        #bus.add_signal_receiver(self.callback_function, signal, iface)
        proxy = bus.get_object("org.freedesktop.UDisks2",
                               "/org/freedesktop/UDisks2")
        self.iface = dbus.Interface(proxy, "org.freedesktop.UDisks2")

        self.iface.connect_to_signal('DeviceAdded', self.device_added_callback)
        self.iface.connect_to_signal('DeviceRemoved',
                                     self.device_removed_callback)
        self.iface.connect_to_signal('InterfacesAdded',
                                     self.device_changed_callback)

        dev1 = get_usb()
        items = get_usb()

        #for text, checked in items:
        for text in sorted(items):

            text_item = QStandardItem(text)
            #checked_item = QStandardItem()
            #checked_item.setData(QVariant(checked), Qt.CheckStateRole)
            model.appendRow(text_item)  #([text_item, checked_item])

        view = QTreeView()
        view.header().hide()
        view.setRootIsDecorated(False)

        combo = self.ui.comboBox_device
        combo.setView(view)
        combo.setModel(model)
        combo.show()
 def append_row(self,members,data_model):
     for (i,member) in enumerate(members):
         cells = []
         user_name = member['UserName']
         user_name_cell = QStandardItem(user_name)
         user_name_cell.setCheckable(True)
         cells.append(user_name_cell)
         
         user_avatar = self.contact_head_home + member['UserName']+".jpg"
         if not os.path.exists(user_avatar):
             user_avatar = self.default_head_icon
         dn = member['DisplayName'] or member['NickName']
         if not dn:
             dn = member['NickName']
         item = QStandardItem(QIcon(user_avatar),wechatutil.unicode(dn))
         cells.append(item)
         data_model.appendRow(cells)
Beispiel #15
0
    def updateList(self):  #TODO Upgrade to a table, with more data
        self.fieldlistModel.clear()
        for field in self.registerLayout.fields:
            field.listItem = QStandardItem(field.name)
            field.listItem.setEditable(False)
            self.fieldlistModel.appendRow(field.listItem)

        if self.registerLayout.selected is not None:
            self.updateSelected(self.registerLayout.selected)
Beispiel #16
0
 def func():
     index = self._s_model.index(0, 0)
     if index.data(LocationCompleterModel.VisitSearchItemRole):
         self._s_model.setData(index, trimmedStr, Qt.DisplayRole)
         self._s_model.setData(index, trimmedStr, LocationCompleterModel.UrlRole)
         self._s_model.setData(index, self._locationBar.text(), LocationCompleterModel.SearchStringRole)
     else:
         item = QStandardItem()
         item.setText(trimmedStr)
         item.setData(trimmedStr, LocationCompleterModel.UrlRole)
         item.setData(self._locationBar.text(), LocationCompleterModel.SearchStringRole)
         item.setData(True, LocationCompleterModel.VisitSearchItemRole)
         self._s_model.setCompletions([item])
         self._addSuggestions(self._oldSuggestions)
     self._showPopup()
     if not self._s_view.currentIndex().isValid():
         self._ignoreCurrentChanged = True
         self._s_view.setCurrentIndex(self._s_model.index(0, 0))
         self._ignoreCurrentChanged = False
Beispiel #17
0
 def OKBtn_click(self):
     val = []
     self.model.removeRow(self.num - 1)
     self.HeJiMoney = self.HeJiMoney + self.je
     val.append(QStandardItem("%d" % self.num))
     val.append(QStandardItem("%d" % self.Zhongliang.value()))
     val.append(QStandardItem("%.2f" % self.doubleSpinBox_2.value()))
     val.append(QStandardItem("%.1f" % self.je))
     self.data.append(val)
     self.model.appendRow(val)
     self.model.item(self.num - 1, 0).setTextAlignment(Qt.AlignCenter)
     self.model.item(self.num - 1, 1).setTextAlignment(Qt.AlignCenter)
     self.model.item(self.num - 1, 2).setTextAlignment(Qt.AlignCenter)
     self.model.item(self.num - 1, 3).setTextAlignment(Qt.AlignCenter)
     self.model.setItem(self.num, 3,
                        QStandardItem("合计:%.1f" % self.HeJiMoney))
     self.model.item(self.num, 3).setTextAlignment(Qt.AlignCenter)
     self.tableView.scrollToBottom()  #滚动到最底部
     self.num += 1
Beispiel #18
0
 def __init__(self):
     super().__init__(1, 3)
     self.setHorizontalHeaderLabels(['Item', 'Show', 'Value'])
     # Label
     self.setItem(0, 0, QStandardItem('Antialias'))
     # Visibility checkbox
     checkItem = QStandardItem('')
     checkItem.setCheckable(True)
     checkItem.setCheckState(Qt.Checked)
     self.setItem(0, 1, checkItem)
     # sample count # todo spinbox
     sampleCount = QStandardItem('X')
     self.setItem(0, 2, sampleCount)
 def _generate_model(self, account_hierarchy: Node):
     stack = [account_hierarchy]
     while stack:
         account: Node = stack.pop()
         # push all children
         stack += sorted(account.children,
                         key=lambda a: a.value,
                         reverse=True)
         path_of_account = [account]
         # reach to root
         while account.parent is not None:
             path_of_account.append(account.parent)
             account = account.parent
         # pop root from path
         account_seg: Node = path_of_account.pop()
         # get root of the data model
         tree_model_node: QStandardItem = self.root_node
         # append the whole path to data model
         while path_of_account:
             account_seg = path_of_account.pop()
             tree_model_child: QStandardItem = None
             # find corresponding node in the data model
             for child_idx in range(tree_model_node.rowCount()):
                 child = tree_model_node.child(child_idx)
                 if child.text() == account_seg.value:
                     tree_model_child = child
                     break
             # if not found
             if tree_model_child is None:
                 # append
                 item = QStandardItem(account_seg.value)
                 item.setEditable(False)
                 tree_model_node.appendRow(item)
                 # get the child just appended and proceed
                 tree_model_node = tree_model_node.child(
                     tree_model_node.rowCount() - 1)
             else:
                 # continue
                 tree_model_node = tree_model_child
Beispiel #20
0
    def __init__(self, parent=None):
        super(FilterPanel, self).__init__(parent)

        self.form_layout = QFormLayout(parent)
        self.form_layout.setFormAlignment(Qt.AlignLeft)
        self.form_layout.setLabelAlignment(Qt.AlignLeft)
        self.form_layout.setContentsMargins(1, 0, 0, 1)

        self.filter_layout_1 = QHBoxLayout()

        self.filter_label = QLabel("Filtro :")

        self.filter_line = QLineEdit()

        self.log_types = QComboBox()
        model = self.log_types.model()
        for tag in LOGGER_TAGS:
            item = QStandardItem(tag['name'])
            item.setForeground(QColor(tag['color']))
            model.appendRow(item)

        self.log_types.colorCount()
        self.log_types.setCurrentText(LOGGER_TAGS[0]["name"])
        self.log_types.currentTextChanged.connect(self.get_log_type)

        self.filter_layout_1.addWidget(self.log_types)
        self.filter_layout_1.addWidget(self.filter_line)

        self.filter_layout_2 = QHBoxLayout()

        self.filter_search_button = QPushButton("Search")
        self.filter_clear_button = QPushButton("Clear")

        self.filter_layout_2.addWidget(self.filter_search_button)
        self.filter_layout_2.addWidget(self.filter_clear_button)

        self.form_layout.addRow(self.filter_label, self.filter_layout_1)
        self.form_layout.addRow(self.filter_layout_2)
Beispiel #21
0
 def XiuGaiBtn_click(self):
     if len(self.data) != 0:  #判断是否还有数据
         self.HeJiMoney -= float(self.data[-1][3].text())
         self.data.pop()
         if self.HeJiMoney < 0:
             self.HeJiMoney = 0
         self.model.removeRow(self.num - 2)  #删除最后一次数据
         self.model.removeRow(self.num - 1)  #删除合计金额行
         self.model.setItem(self.num - 2, 3,
                            QStandardItem("合计:%.1f" % self.HeJiMoney))
         self.model.item(self.num - 2, 3).setTextAlignment(Qt.AlignCenter)
         self.num -= 1
         if self.num < 1:
             self.num = 1
Beispiel #22
0
    def __init__(self, parent=None):
        super(HighlightOptionsDialog, self).__init__(parent)

        self.form_layout = QFormLayout(self)
        self.form_layout.setFormAlignment(Qt.AlignLeft)
        self.form_layout.setLabelAlignment(Qt.AlignLeft)
        self.form_layout.setContentsMargins(2, 2, 2, 2)
        self.setWindowTitle("Highlight Options")

        check_box_layout = QHBoxLayout()

        self.timestamp_check = QCheckBox("Timestamp")
        self.timestamp_check.setChecked(False)
        self.timestamp_check.stateChanged.connect(self.timestamp_check_change)

        self.tag_check = QCheckBox("Tag")
        self.tag_check.setChecked(True)

        self.func_check = QCheckBox("Function")
        self.func_check.setChecked(False)

        self.module_source_check = QCheckBox("Module/Source")
        self.module_source_check.setChecked(False)

        check_box_layout.addWidget(self.timestamp_check,
                                   alignment=Qt.AlignLeft)
        check_box_layout.addWidget(self.tag_check, alignment=Qt.AlignLeft)
        check_box_layout.addWidget(self.func_check, alignment=Qt.AlignLeft)
        check_box_layout.addWidget(self.module_source_check,
                                   alignment=Qt.AlignLeft)

        highlight_label = QLabel("Highlight Options")

        self.timestamp_combo = QComboBox()
        model = self.timestamp_combo.model()
        for timestamp in LOGGER_TIMESTAMPS:
            item = QStandardItem(timestamp["name"])
            model.appendRow(item)
        self.timestamp_combo.setCurrentIndex(0)
        self.timestamp_combo.setEnabled(self.timestamp_check.isChecked())

        self.apply_button = QPushButton("Apply")
        self.apply_button.clicked.connect(self.apply)

        self.form_layout.addRow(highlight_label)
        self.form_layout.addRow(check_box_layout)
        self.form_layout.addRow("TimeStamp Type :", self.timestamp_combo)
        self.form_layout.addRow(self.apply_button)
Beispiel #23
0
	def showTable(self):
		self.totalprice = 0
		# 设置表格表头
		self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
		self.model.clear()
		self.model.setHorizontalHeaderLabels(self.title)
		self.tableView.setModel(self.model)
		# 设置内容
		if self.materiallist:
			for b in self.materiallist:
				for col in range(3):
					item = QStandardItem("{}".format(b[col]))
					self.model.setItem(self.materiallist.index(b), col, item)
			self.tableView.setModel(self.model)
			for m in self.materiallist:
				self.totalprice += m[1] * m[2]
		self.lineEdit_5.setText("{}".format(self.totalprice))
Beispiel #24
0
    def handle_search_change(self, text):
        objs = self.obj_map.get_objs_matching_regex(text)
        model = QStandardItemModel()
        root = model.invisibleRootItem()
        monospaced_font = get_monospaced_font()

        for x in objs:
            entry = QStandardItem(x)
            entry.setFont(monospaced_font)
            entry.setEditable(False)
            root.appendRow(entry)
        self.search_result.setModel(model)
Beispiel #25
0
    def on_open_dir(self):
        data_dir = QFileDialog.getExistingDirectory(self, "选取文件夹", "./")
        self.data_dir = data_dir

        test_data = os.listdir(data_dir)
        test_data.sort()
        self.test_data = test_data
        self.num_data = len(test_data)
        self.image_ids = list(range(self.num_data))
        self.image_id = 0
        self.label_img_info.setText("image_id: {}\nname: {}".format(
            self.image_id, self.test_data[self.image_id]))

        # 目录树显示
        path_data_name = self.model.invisibleRootItem()
        for i in range(len(test_data)):
            gos_data = QStandardItem(test_data[i])
            path_data_name.setChild(i, gos_data)
Beispiel #26
0
    def get_tableitem(self, item):
        """
        Return centered QTableWidgetItem with problem

        :param item: host or service item
        :type item: alignak_app.items.host.Host | alignak_app.items.service.Service
        :return: table item with text
        :rtype: QStandardItem
        """

        tableitem = QStandardItem(self.get_item_text(item))
        tableitem.setData(item, Qt.UserRole)

        icon = QIcon(settings.get_image(
            get_icon_name_from_state(item.item_type, item.data['ls_state'])
        ))
        tableitem.setIcon(icon)
        tableitem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)

        return tableitem
Beispiel #27
0
    def get_output_tableitem(item):
        """
        Return centered QTableWidgetItem with output

        :param item: host or service item
        :type item: alignak_app.items.host.Host | alignak_app.items.service.Service
        :return: table item with text
        :rtype: QStandardItem
        """

        if not item.data['ls_output']:
            item.data['ls_output'] = 'n\\a'
        tableitem = QStandardItem(item.data['ls_output'])
        tableitem.setData(item, Qt.UserRole)

        tableitem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)

        return tableitem
Beispiel #28
0
    def update_view(self, problems_data):
        """
        Update QTableView model and proxy filter

        :param problems_data: problems found in database
        :type problems_data: dict
        :return: proxy filter to connect with line edit
        :rtype: QSortFilterProxyModel
        """

        problems_model = QStandardItemModel()
        problems_model.setRowCount(len(problems_data['problems']))
        problems_model.setColumnCount(len(self.headers_list))

        if problems_data['problems']:
            for row, item in enumerate(problems_data['problems']):
                problems_model.setItem(row, 0, self.get_tableitem(item))
                problems_model.setItem(row, 1, self.get_output_tableitem(item))

        else:
            tableitem = QStandardItem('No problem to report.')

            icon = QIcon(settings.get_image('checked'))
            tableitem.setIcon(icon)
            tableitem.setTextAlignment(Qt.AlignCenter)
            problems_model.setItem(0, 0, tableitem)

        proxy_filter = QSortFilterProxyModel()
        proxy_filter.setFilterCaseSensitivity(Qt.CaseInsensitive)
        proxy_filter.setSourceModel(problems_model)

        problems_model.setHorizontalHeaderLabels(self.headers_list)

        self.setModel(proxy_filter)

        self.setColumnWidth(0, 500)
        self.setColumnWidth(1, 300)

        return proxy_filter
Beispiel #29
0
    def update_filename_box(self):
        doing_multiple = self.doing_multiple

        model = QStandardItemModel()
        self.filename_box.setModel(model)
        self.icon_file_names.sort(key=sort_key)
        if doing_multiple:
            item = QStandardItem(_('Open to see checkboxes'))
            item.setIcon(QIcon(I('blank.png')))
        else:
            item = QStandardItem('')
        item.setFlags(Qt.ItemFlag(0))
        model.appendRow(item)

        for i,filename in enumerate(self.icon_file_names):
            item = QStandardItem(filename)
            if doing_multiple:
                item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
                item.setData(Qt.Unchecked, Qt.CheckStateRole)
            else:
                item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            icon = QIcon(os.path.join(self.icon_folder, filename))
            item.setIcon(icon)
            model.appendRow(item)
Beispiel #30
0
    def update_filename_box(self):
        doing_multiple = self.doing_multiple

        model = QStandardItemModel()
        self.filename_box.setModel(model)
        self.icon_file_names.sort(key=sort_key)
        if doing_multiple:
            item = QStandardItem(_('Open to see checkboxes'))
            item.setIcon(QIcon(I('blank.png')))
        else:
            item = QStandardItem('')
        item.setFlags(Qt.ItemFlag(0))
        model.appendRow(item)

        for i,filename in enumerate(self.icon_file_names):
            item = QStandardItem(filename)
            if doing_multiple:
                item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
                item.setData(Qt.Unchecked, Qt.CheckStateRole)
            else:
                item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            icon = QIcon(os.path.join(self.icon_folder, filename))
            item.setIcon(icon)
            model.appendRow(item)
 def CBTextHint(self, Combox=None):
     mdel = QStandardItemModel(Combox.model())
     firstIndex = mdel.index(0, Combox.modelColumn(),
                             Combox.rootModelIndex())
     firstItem = QStandardItem(mdel.itemFromIndex(firstIndex))
     firstItem.setSelectable(False)
Beispiel #32
0
 def addItems(self, parent, elements):
     for text, children in elements:
         item = QStandardItem(text)
     parent.appendRow(item)
     if children:
         self.addItems(item, children)
Beispiel #33
0
    def __init__(self, parent=None):
        super(SerialDialog, self).__init__(parent)

        self.serial_handler = serial.Serial()

        self.form_layout = QFormLayout(self)
        self.form_layout.setFormAlignment(Qt.AlignLeft)
        self.form_layout.setLabelAlignment(Qt.AlignLeft)
        self.form_layout.setContentsMargins(2, 2, 2, 2)
        self.setWindowTitle("Serial Configuration")

        # TODO more ports
        # TODO unix port sintax
        # TODO connect with text parameters

        baudrate_label = QLabel("Baudrate :")
        baudrates = ["9600", "19200", "38400", "57600", "115200"]
        self.baudrate_combo = QComboBox()
        model = self.baudrate_combo.model()
        for baudrate in baudrates:
            item = QStandardItem(baudrate)
            model.appendRow(item)
        self.baudrate_combo.setCurrentText("115200")
        logger.debug("baudrate  ok")

        port_label = QLabel("Porta :")
        logger.debug("Listing ports")
        ports = ["COM" + str(i) for i in range(0, 11)]
        self.ports_combo = QComboBox()
        model = self.ports_combo.model()
        for port in ports:
            item = QStandardItem(port)
            model.appendRow(item)
        self.ports_combo.setCurrentText("COM5")
        logger.debug("port ok")

        parity_label = QLabel("Paridade :")
        paritys = ["None", "Even", "Odd"]
        self.paritys_combo = QComboBox()
        model = self.paritys_combo.model()
        for parity in paritys:
            item = QStandardItem(parity)
            model.appendRow(item)
        self.paritys_combo.setCurrentText("None")

        stop_bits_label = QLabel("Stop Bits :")
        stop_bits = ["1", "1.5", "2"]
        self.stop_bits_combo = QComboBox()
        model = self.stop_bits_combo.model()
        for stop_bit in stop_bits:
            item = QStandardItem(stop_bit)
            model.appendRow(item)
        self.stop_bits_combo.setCurrentText("1")

        byte_size_label = QLabel("Byte Size :")
        byte_sizes = [str(i) for i in range(5, 9)]
        self.byte_sizes_combo = QComboBox()
        model = self.byte_sizes_combo.model()
        for byte_size in byte_sizes:
            item = QStandardItem(byte_size)
            model.appendRow(item)
        self.byte_sizes_combo.setCurrentText("8")

        self.widgets_list = [
            self.baudrate_combo, self.ports_combo, self.paritys_combo,
            self.stop_bits_combo, self.byte_sizes_combo
        ]

        self.message_box = QPlainTextEdit()
        self.message_box.setFixedHeight(60)
        self.message_box.setReadOnly(True)

        self.connect_button = QPushButton("Conectar")
        self.connect_button.clicked.connect(self.connect_to_serial)
        self.connect_button.setEnabled(True)

        self.disconnect_button = QPushButton("Desconectar")
        self.disconnect_button.clicked.connect(self.disconnect_from_serial)
        self.disconnect_button.setEnabled(False)

        self.form_layout.addRow(baudrate_label, self.baudrate_combo)
        self.form_layout.addRow(port_label, self.ports_combo)
        self.form_layout.addRow(parity_label, self.paritys_combo)
        self.form_layout.addRow(stop_bits_label, self.stop_bits_combo)
        self.form_layout.addRow(byte_size_label, self.byte_sizes_combo)
        self.form_layout.addRow(self.message_box)

        buttons_layout = QHBoxLayout()
        buttons_layout.addWidget(self.connect_button,
                                 alignment=Qt.AlignJustify)
        buttons_layout.addWidget(self.disconnect_button,
                                 alignment=Qt.AlignJustify)
        self.form_layout.addRow(buttons_layout)
Beispiel #34
0
 def addItems(parent, elements, t=""):
     for xref, name in elements:
         item = QStandardItem(name)
         data = xref
         item.setData(data)
         parent.appendRow(item)