示例#1
0
    def __init__(self, skillLine, parent=None, **kwargs):
        abilities = skillLine.getAbilities()
        rowCount = len(abilities)
        columnCount = len(self.HEADER)
        super(SkillTableWidget, self).__init__(rowCount, columnCount, parent)

        self.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
        self.setFocusPolicy(QtCore.Qt.NoFocus)
        self.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

        hheader = QtWidgets.QHeaderView(QtCore.Qt.Orientation.Horizontal)
        hheader.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
        self.setHorizontalHeader(hheader)
        self.setHorizontalHeaderLabels(self.HEADER)

        vheader = QtWidgets.QHeaderView(QtCore.Qt.Orientation.Vertical)
        vheader.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
        self.setVerticalHeader(vheader)
        vheader.setVisible(False)

        for i, ability in enumerate(abilities):
            spellReagents = ability.getSpellReagents()
            if spellReagents:
                reagents = spellReagents.getReagents()

                spell = ability.getSpell()
                effect = spell.getCurrentEffects()[0]
                item = effect.getItem()
                if item and item.exists():
                    spellLabel = IconLabel(item, size=25)
                else:
                    spellLabel = IconLabel(spell, size=25)
                self.setCellWidget(i, 0, spellLabel)

                reagentsWidget = QtWidgets.QWidget()
                reagentsLayout = QtWidgets.QHBoxLayout(reagentsWidget)
                for reagent, count in reagents.items():
                    reagentLabel = IconLabel(reagent,
                                             size=25,
                                             count={"text": str(count)})
                    reagentsLayout.addWidget(reagentLabel)
                reagentsLayout.addStretch(1)
                self.setCellWidget(i, 1, reagentsWidget)

                mid = int((ability.trivialSkillLineRankLow +
                           ability.trivialSkillLineRankHigh) * 0.5)
                skillLevel = "<span style=\"color:#FFFF00\">{low}</span> <span style=\"color:#40bf40\">{mid}</span> <span style=\"color:#808080\">{high}</span>".format(
                    low=ability.trivialSkillLineRankLow,
                    mid=mid,
                    high=ability.trivialSkillLineRankHigh)
                skillLevelLabel = QtWidgets.QLabel(skillLevel)
                self.setCellWidget(i, 2, skillLevelLabel)

        size = self.getTableSize()
        self.setMaximumSize(size)
        self.setMinimumSize(size)
示例#2
0
 def set_header(self):
     """Sets a custom header to the treewidget"""
     header = QtWidgets.QHeaderView(QtCore.Qt.Horizontal, self)
     self.setHeader(header)
     header.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch)
     header.resizeSection(0, 150)
     header.setSectionsClickable(True)
示例#3
0
    def __init__(self, parent=None):
        super(TableWidget, self).__init__(parent=parent)

        self.data = {}

        self.setColumnCount(4)
        self.setHorizontalHeaderLabels(
            ('Local Assets', '', 'Shotgun Entity', 'Create Entity'))
        self.verticalHeader().setVisible(False)

        header = QtWidgets.QHeaderView(QtCore.Qt.Horizontal, parent=self)
        self.setHorizontalHeader(header)

        header.setStretchLastSection(False)
        header.setSectionResizeMode(0, QtWidgets.QHeaderView.ResizeToContents)
        header.setSectionResizeMode(1, QtWidgets.QHeaderView.Fixed)
        header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch)
        header.setSectionResizeMode(3, QtWidgets.QHeaderView.Fixed)

        self.setColumnWidth(1, common.size(common.HeightRow))
        self.setColumnWidth(2, common.size(common.DefaultWidth) * 0.4)
        self.setColumnWidth(3, common.size(common.DefaultWidth) * 0.2)

        self.setShowGrid(False)

        item = QtWidgets.QTableWidgetItem('>')
        item.setFlags(QtCore.Qt.NoItemFlags)
        item.setTextAlignment(QtCore.Qt.AlignCenter)
        self.setItemPrototype(item)
示例#4
0
    def __init__(self, parent=None, software=None):
        super(MainWindow, self).__init__(parent=parent)
        self.setupUi(self)

        # CONSTANTS
        self.user = getpass.getuser()
        self.software = software
        if self.software:
            mod = '.softs.%s.attachment' % self.software
            self.attachment_module = importlib.import_module(mod, 'client')
        # self.user = '******'
        # self.notif_sound = QtMultimedia.QSound(
        #     os.path.join(SCRIPT_PATH, 'src', 'notification.wav'))

        self.commands = {
            'fetch_messages': self.fetch_messages,
            'fetch_users': self.fetch_users,
            'new_message': self.new_message,
        }

        # CLIENT
        url = '%s:%s?user=%s&soft=%s' % (URL, PORT, self.user, self.software)
        self.client_manager = Client(url=url)

        # MAILBOX HEADER
        header_mailbox = QtWidgets.QHeaderView(
            QtCore.Qt.Horizontal, self.trw_mailbox)
        self.trw_mailbox.setHeader(header_mailbox)
        header_mailbox.setSectionResizeMode(
            0, QtWidgets.QHeaderView.Stretch)
        header_mailbox.setSectionResizeMode(
            1, QtWidgets.QHeaderView.ResizeToContents)
        header_mailbox.setSectionsClickable(True)

        # CASCADING STYLE SHEET
        self.set_style_sheet()

        # SIGNALS
        self.client_manager.client.textMessageReceived.connect(
            self._receive_data)

        self.pub_import_attachment.clicked.connect(self.import_attachment)
        self.pub_send.clicked.connect(self.send_message)
        self.lie_search_receiver.textChanged.connect(self.search_receiver)
        self.trw_mailbox.itemClicked.connect(self.show_message_from_mailbox)
        self.trw_mailbox.customContextMenuRequested.connect(
            self.context_menu_mailbox)