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)
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)
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)
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)