Пример #1
0
    def __init__(self, owner):
        super(self.__class__, self).__init__(owner)
        Ui_User.__init__(self)
        self.setupUi(self)
        self.owner = weakref.ref(owner)
        self.setWindowTitle("哔咔漫画")

        pix = QtGui.QPixmap()
        pix.loadFromData(resources.DataMgr.GetData("placeholder_avatar"))
        pix.scaled(self.icon.size(), Qt.KeepAspectRatio)
        self.icon.setScaledContents(True)
        self.icon.setPixmap(pix)
        self.pictureData = None
        self.icon.installEventFilter(self)
        self.listWidget.currentRowChanged.connect(self.Switch)
        self.listWidget.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.listWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.listWidget.setFrameShape(self.listWidget.NoFrame)
        for name in ["主页", "搜索", "分类", "排行", "收藏", "历史记录", "下载", "留言板", "聊天室"]:
            item = QListWidgetItem(name, self.listWidget)
            item.setSizeHint(QSize(16777215, 60))
            item.setTextAlignment(Qt.AlignCenter)

        self.stackedWidget.addWidget(self.owner().indexForm)
        self.stackedWidget.addWidget(self.owner().searchForm)
        self.stackedWidget.addWidget(self.owner().categoryForm)
        self.stackedWidget.addWidget(self.owner().rankForm)
        self.stackedWidget.addWidget(self.owner().favoriteForm)
        self.stackedWidget.addWidget(self.owner().historyForm)
        self.stackedWidget.addWidget(self.owner().downloadForm)
        self.stackedWidget.addWidget(self.owner().leaveMsgForm)
        self.stackedWidget.addWidget(self.owner().chatForm)
Пример #2
0
    def add_request_weiget2(self, t1='', t2=''):
        item = QListWidgetItem()

        item.setSizeHint(QSize(10, 40))
        self.li2.addItem(item)

        w = QWidget()
        layout = QHBoxLayout()

        e1 = QLineEdit(w)
        e1.setText(t1)
        sizePolicy2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy2.setHorizontalStretch(10)
        sizePolicy2.setVerticalStretch(0)
        # sizePolicy1.setHeightForWidth(self.comboBox.sizePolicy().hasHeightForWidth())
        e1.setSizePolicy(sizePolicy2)

        e2 = QLineEdit(w)
        e2.setText(t2)
        sizePolicy3 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy3.setHorizontalStretch(10)
        sizePolicy3.setVerticalStretch(0)
        # sizePolicy1.setHeightForWidth(self.comboBox.sizePolicy().hasHeightForWidth())
        e2.setSizePolicy(sizePolicy3)

        layout.addWidget(e1)
        layout.addWidget(e2)

        w.setLayout(layout)
        self.li2.setItemWidget(item, w)
Пример #3
0
    def listAvailableMethods(self):
        """
        Looks for MacroMethods's usable classes and list those on MethodList.
        Only runs once per program execution.
        """
        def iconSet(name):
            temp = QtTools.ICON_LOCATION + QtTools.ICON_ASSIGN.setdefault(
                name, "default")
            return Toolset.PathData.relative(temp)

        def setItems(item_list):
            """
            Coroutine to generate respective items from given method lists.
            """
            for name in item_list:
                item = QtTools.MethodItemWidget(iconSet(name), name)
                yield item

        self.methodList.clear()

        for i in setItems(Elements.__all__):

            list_item = QListWidgetItem(self.methodList)
            list_item.setSizeHint(i.sizeHint())

            self.methodList.addItem(list_item)
            self.methodList.setItemWidget(list_item, i)

        self.methodList.setCurrentRow(0)
Пример #4
0
    def AddUserItem(self, commnetId, commentsCount, likesCount, content, name, createdTime, floor, url="", path="", originalName="", title="", level=1):
        index = self.count()
        iwidget = QtComment(self)
        iwidget.id = commnetId
        iwidget.commentLabel.setText(content)
        iwidget.nameLabel.setText(name)
        iwidget.numLabel.setText("({})".format(commentsCount))
        iwidget.starLabel.setText("({})".format(likesCount))
        iwidget.levelLabel.setText(" LV" + str(level) + " ")
        iwidget.titleLabel.setText(" " + title + " ")
        if createdTime:
            timeArray, day = ToolUtil.GetDateStr(createdTime)
            if day >= 1:
                iwidget.dateLabel.setText("{}天前".format(str(day)))
            else:
                strTime = "{}:{}:{}".format(timeArray.tm_hour, timeArray.tm_min, timeArray.tm_sec)
                iwidget.dateLabel.setText("{}".format(strTime))

        iwidget.indexLabel.setText("{}楼".format(str(floor)))

        item = QListWidgetItem(self)
        item.setSizeHint(iwidget.sizeHint())
        self.setItemWidget(item, iwidget)
        if url and config.IsLoadingPicture:
            QtTask().AddDownloadTask(url, path, None, self.LoadingPictureComplete, True, index, True, self.GetName())
            pass
Пример #5
0
 def _add_attr(self, existing_frame=None):
     item = QListWidgetItem()
     self.list_widget.addItem(item)
     frame = existing_frame if existing_frame is not None else FieldAttrFrame(
     )
     item.setSizeHint(frame.sizeHint())
     self.list_widget.setItemWidget(item, frame)
Пример #6
0
    def add_player_team2(self):
        if not self.check_for_players():
            QMessageBox.warning(self.window, "League Night", "There are currently no Players", QMessageBox.Ok,
                                QMessageBox.NoButton)
            return

        team2List = self.window.team2List
        playerPoolList = self.window.playerPoolList

        players = playerPoolList.selectedItems()

        for index in players:
            player = playerPoolList.itemWidget(index)

            if self.check_player_exists_on_team(self.window.team2List, player.summoner):
                QMessageBox.warning(self.window, "League Night", "Player is already on this Team", QMessageBox.Ok,
                                    QMessageBox.NoButton)
            elif self.check_player_exists_on_team(self.window.team1List, player.summoner):
                QMessageBox.warning(self.window, "League Night", "Player is already on the other Team", QMessageBox.Ok,
                                    QMessageBox.NoButton)
            else:
                item = QListWidgetItem(team2List)

                team2Player = self.add_player_to_team(team2List, player.summoner)
                team2Player.playerLabel.setText(player.summoner.name)

                item.setSizeHint(team2Player.sizeHint())

                team2List.addItem(item)
                team2List.setItemWidget(item, team2Player)
Пример #7
0
    def _create_c_list_item_widget(self, colleague):
        widget = QWidget(parent=self._colleagues_list)
        widget.colleague = colleague

        main_layout = QHBoxLayout(widget)
        main_layout.setSpacing(2)

        icon_label = QLabel(widget)
        icon_label.setPixmap(
            QIcon(":images/account.svg").pixmap(
                QSize(self.COLLEAGUES_LIST_WIDGET_HEIGHT - 17,
                      self.COLLEAGUES_LIST_WIDGET_HEIGHT - 17)))
        main_layout.addWidget(icon_label)

        vertical_layout = QVBoxLayout()
        main_layout.addLayout(vertical_layout)

        text_label = QLabel(widget)
        widget.text_label = text_label
        text_label.setFont(QFont('Noto Sans', 10 * self._dp))
        text_label.setAlignment(Qt.AlignTop | Qt.AlignLeft)
        text_label.setText(colleague.get_mail_text())
        vertical_layout.addWidget(text_label)

        status_label = QLabel(widget)
        widget.status_label = status_label
        status_label.setFont(QFont('Noto Sans', 10 * self._dp))
        status_label.setAlignment(Qt.AlignTop | Qt.AlignLeft)
        status_label.setText(colleague.get_status_text())
        vertical_layout.addWidget(status_label)

        main_layout.addStretch()
        access_label = QLabel(widget)
        widget.access_label = access_label
        access_label.setFont(QFont('Noto Sans', 10 * self._dp))
        access_label.setAlignment(Qt.AlignCenter | Qt.AlignLeft)
        access_label.setText(colleague.get_access_text())
        main_layout.addWidget(access_label)

        def clicked(event, control):
            self._show_menu(widget.colleague, control.mapToGlobal(event.pos()))

        widget.mouseReleaseEvent = lambda e: clicked(e, widget)
        widget.text_label.mouseReleaseEvent = lambda e: clicked(
            e, widget.text_label)
        widget.status_label.mouseReleaseEvent = lambda e: clicked(
            e, widget.status_label)
        widget.access_label.mouseReleaseEvent = lambda e: clicked(
            e, widget.access_label)

        item = QListWidgetItem()
        item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
        item.setSizeHint(
            QSize(self._colleagues_list.width(),
                  self.COLLEAGUES_LIST_WIDGET_HEIGHT))

        self._colleagues_list.addItem(item)
        self._items.append(widget)
        self._colleagues_list.setItemWidget(item, widget)
Пример #8
0
 def add_download(self, link: str):
     list_item = QListWidgetItem()
     self.ui.listWidget.addItem(list_item)
     download_item = ItemWidget(list_item)
     # download_item.on_complete_signal.connect(self.complete)
     list_item.setSizeHint(download_item.sizeHint())
     self.ui.listWidget.setItemWidget(list_item, download_item)
     download_item.start_download(link)
Пример #9
0
    def AddItem(self, name):
        item = QListWidgetItem(name)
        item.setTextAlignment(Qt.AlignCenter)
        # item.setBackground(QColor(87, 195, 194))
        item.setBackground(QColor(0, 0, 0, 0))
        item.setSizeHint(QSize(90, 30))
        item.setFlags(item.flags() & (~Qt.ItemIsSelectable))

        self.addItem(item)
Пример #10
0
 def AddBookItem(self, _id, title, info="", url="", path="", param="", originalName=""):
     index = self.count()
     iwidget = ItemWidget(_id, title, str(index+1), info, param, self)
     item = QListWidgetItem(self)
     item.setSizeHint(iwidget.sizeHint())
     self.setItemWidget(item, iwidget)
     iwidget.picIcon.setText("图片加载中...")
     if url and path and config.IsLoadingPicture:
         QtTask().AddDownloadTask(url, path, None, self.LoadingPictureComplete, True, index, True, self.GetName())
         pass
Пример #11
0
 def append_to_list(self, beans: list):
     for bean in beans:
         if self.beanType == Types.FLOAT_DEC:
             line = QFLine(bean)
         elif self.beanType == Types.HAM_DEC:
             line = QHLine(bean)
         else:
             line = QLine(bean)
         item = QListWidgetItem(self.listWidget)
         item.setSizeHint(line.minimumSizeHint())
         self.listWidget.addItem(item)
         self.listWidget.setItemWidget(item, line)
    def add_field(self) -> FieldWidget:
        item = QListWidgetItem()
        field = FieldWidget(
            self.possible_fields, self.fieldsListWidget, self.instrument
        )
        field.something_clicked.connect(partial(self.select_field, item))
        self.nx_class_changed.connect(field.field_name_edit.update_possible_fields)
        item.setSizeHint(field.sizeHint())

        self.fieldsListWidget.addItem(item)
        self.fieldsListWidget.setItemWidget(item, field)
        return field
Пример #13
0
 def layers_update(self, layers):
     self.listWidget.clear()
     for layer in layers:
         item = QListWidgetItem(self.listWidget)
         self.listWidget.addItem(item)
         delegate = LayerItemDelegate(layer, self.plot_worker)
         item.setSizeHint(delegate.size())
         delegate.set_name(layer.key)
         if hasattr(layer, '_colour'):
             delegate.set_colour(layer._colour)
         if hasattr(layer, '_osm_tag'):
             delegate.set_data_tag(layer._osm_tag)
         self.listWidget.setItemWidget(item, delegate)
Пример #14
0
 def UpdateEpsInfo(self):
     self.epsListWidget.clear()
     info = BookMgr().books.get(self.bookId)
     if not info:
         return
     downloadEpsId = self.owner().downloadForm.GetDownloadEpsId(self.bookId)
     for index, epsInfo in enumerate(info.eps):
         label = QLabel(epsInfo.title)
         label.setContentsMargins(20, 10, 20, 10)
         item = QListWidgetItem(self.epsListWidget)
         item.setSizeHint(label.sizeHint())
         if index in downloadEpsId:
             item.setBackground(self.greed)
         else:
             item.setBackground(self.white)
         self.epsListWidget.setItemWidget(item, label)
Пример #15
0
    def _add_file_to_file_list(self,
                               index,
                               file_list,
                               items_dict,
                               obj_id,
                               rel_path,
                               created_time,
                               was_updated,
                               is_deleted,
                               transfered,
                               size=0,
                               state=None,
                               is_file=True):
        item = file_list.item(index)
        if item:
            item.setData(Qt.UserRole, [
                rel_path, created_time, size, was_updated, is_deleted,
                transfered, state, is_file, obj_id
            ])
            self._update_file_list_item_widget(file_list, item)
            items_dict[obj_id].append(item)
            return

        item = QListWidgetItem()
        item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
        item.setSizeHint(QSize(file_list.width(), self.FILE_LIST_ITEM_SIZE))
        item.setData(Qt.UserRole, [
            rel_path, created_time, size, was_updated, is_deleted, transfered,
            state, is_file, obj_id
        ])

        file_list.addItem(item)
        rect = file_list.viewport().contentsRect()
        top = file_list.indexAt(rect.topLeft())
        if top.isValid():
            bottom = file_list.indexAt(rect.bottomLeft())
            if not bottom.isValid():
                bottom = file_list.model().index(file_list.count() - 1)
            if top.row() <= file_list.row(item) <= bottom.row() + 1:
                widget = self._create_file_list_item_widget(
                    file_list, [
                        rel_path, created_time, size, was_updated, is_deleted,
                        transfered, state, is_file, obj_id
                    ])
                file_list.setItemWidget(item, widget)
        if item not in items_dict[obj_id]:
            items_dict[obj_id].append(item)
Пример #16
0
    def create_item(self, name, icon):
        """Create a standard list widget item, for option panel.

        Args:
          name: Name of option button
          icon: Icon name of option button
        Returns:
          item: created option button
        """
        item = QListWidgetItem(self)
        item.setText(name)
        item.setIcon(QIcon(icon))
        item.setStatusTip(name)
        item.setSizeHint(QSize(75, 70))
        item.setTextAlignment(Qt.AlignCenter)
        item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        return item
Пример #17
0
    def item_clicked(self, item):
        self.menu_level += 1
        item_text = item.text()

        if self.menu_level < 2:
            self.item_list.clear()

            item = QListWidgetItem("< Back")
            item.setSizeHint(QSize(item.sizeHint().width(), 50))
            self.item_list.addItem(item)

            for i in range(10):
                item = QListWidgetItem("Sub menu {} ({})".format(i, item_text))
                item.setSizeHint(QSize(item.sizeHint().width(), 50))
                self.item_list.addItem(item)
        elif "Back" in item_text:
            self.item_list.clear()
            self.menu_level = 0
            self.fill_main_item_list()
Пример #18
0
    def _add_file_to_file_list(self, index, rel_path,
                               created_time, was_updated, icon_info):
        item = self._ui.file_list.item(index)
        if not item:
            item = QListWidgetItem()
            item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
            item.setSizeHint(QSize(
                self.FILE_LIST_ITEM_SIZE, self.FILE_LIST_ITEM_SIZE))
            self._ui.file_list.insertItem(index, item)

        widget = self._ui.file_list.itemWidget(item)
        if not widget:
            widget = self._create_file_list_item_widget(
                rel_path, created_time, was_updated, icon_info)
            self._ui.file_list.setItemWidget(item, widget)
        else:
            self._update_file_list_item_widget(
                widget, rel_path, created_time, was_updated, icon_info)
        self._files[FilePath(rel_path)] = icon_info
Пример #19
0
    def add_player(self):
        summoner = self.get_summoner(self.window.usernameEdit.text())

        if summoner is None:
            QMessageBox.warning(self.window, "League Night", "Invalid Summoner Name", QMessageBox.Ok, QMessageBox.NoButton)
            return

        item = QListWidgetItem(self.window.playerPoolList)

        playerWidget = self.create_player(self.window.playerPoolList, summoner)
        playerWidget.playerLabel.setText(summoner.name)
        playerWidget.pointLabel.setText(str(summoner.points))

        item.setSizeHint(playerWidget.sizeHint())

        self.window.playerPoolList.addItem(item)
        self.window.playerPoolList.setItemWidget(item, playerWidget)

        self.window.usernameEdit.setText("")
        self.window.addPlayerButton.setEnabled(False)
Пример #20
0
 def UpdateEpsData(self):
     self.epsListWidget.clear()
     info = BookMgr().books.get(self.bookId)
     if not info:
         return
     self.startRead.setEnabled(True)
     downloadIds = self.owner().downloadForm.GetDownloadCompleteEpsId(
         self.bookId)
     for index, epsInfo in enumerate(info.eps):
         label = QLabel(epsInfo.title)
         label.setContentsMargins(20, 10, 20, 10)
         item = QListWidgetItem(self.epsListWidget)
         if index in downloadIds:
             item.setBackground(QColor(18, 161, 130))
         else:
             item.setBackground(QColor(0, 0, 0, 0))
         item.setSizeHint(label.sizeHint())
         self.epsListWidget.setItemWidget(item, label)
     self.tabWidget.setTabText(0, "章节({})".format(str(len(info.eps))))
     return
Пример #21
0
def AddToListWidget(tgt, item_list_widget, index=None):
    """
    Adds macro object to given QItemListWidget.
    :param index: if given, tries to insert item in given index.
    :param tgt: macro object to Add
    :param item_list_widget: QItemListWidget
    """

    LoggingEmitter.debug(f"Add: {type(tgt).__name__} '{tgt.name}'")

    item = GenerateWidget(tgt)

    list_item = QListWidgetItem(item_list_widget)
    list_item.setSizeHint(item.sizeHint())

    if index is not None:
        item_list_widget.insertItem(index, list_item)

    else:
        item_list_widget.addItem(list_item)
    item_list_widget.setItemWidget(list_item, item)
Пример #22
0
def build_adminlistwidget():
    list_widget = QListWidget()
    list_widget.items = []
    users = [
        ["admin", "admin"],
        ["admin1", "admin1"],
        ["admin2", "admin2"],
        ["admin3", "admin3"],
        ["admin4", "admin4"],
        ["admin5", "admin5"],
    ]

    for username, password in users:
        item = make_adminlist_item(username)
        list_widget.items.append(item)
        last_item_indice = len(list_widget.items) - 1
        list_widget_item = QListWidgetItem(list_widget)
        list_widget_item.setSizeHint(
            list_widget.items[last_item_indice].sizeHint())
        list_widget.addItem(list_widget_item)
        list_widget.setItemWidget(list_widget_item,
                                  list_widget.items[last_item_indice])
    return list_widget
    pass
Пример #23
0
    def create_pixel_mapping_list(self, n_items: int, text: str):
        """
        Creates a list of pixel mapping widgets.
        :param n_items: The number of widgets to create.
        :param text: The label to be displayed next to the line edit. This is either faces or cylinders.
        """
        self.reset_pixel_mapping_list()

        for i in range(n_items):
            pixel_mapping_widget = PixelMappingWidget(
                self.pixel_mapping_list_widget, i, text)
            pixel_mapping_widget.pixelIDLineEdit.textEdited.connect(
                self.update_pixel_mapping_validity)

            # Make sure the list item is as large as the widget
            list_item = QListWidgetItem()
            list_item.setSizeHint(pixel_mapping_widget.sizeHint())

            self.pixel_mapping_list_widget.addItem(list_item)
            self.pixel_mapping_list_widget.setItemWidget(
                list_item, pixel_mapping_widget)

            # Keep the PixelMappingWidget so that its ID can be retrieved easily when making a PixelMapping object.
            self.pixel_mapping_widgets.append(pixel_mapping_widget)
Пример #24
0
 def addTemplate(self, template):
     item = QListWidgetItem()
     view = Item(template, self.subject)
     item.setSizeHint(view.sizeHint())
     self.addItem(item)
     self.setItemWidget(item, view)
Пример #25
0
 def fill_main_item_list(self):
     for i in range(10):
         item = QListWidgetItem("Menu {}".format(i))
         item.setSizeHint(QSize(item.sizeHint().width(), 50))
         self.item_list.addItem(item)