Пример #1
0
    def mouseReleaseEvent(self, ev: QtGui.QMouseEvent) -> None:
        self.releaseMouse()
        self.clicked = False
        index = -1

        if self.buttonPressed == Qt.RightButton:
            listWidget = self.mainWindow.listWidget
        else:
            from MyListWidget import MyListWidget
            listWidget: MyListWidget
            for listWidget in self.mainWindow.findChildren(MyListWidget):
                pos = listWidget.mapFromGlobal(ev.globalPos())
                if listWidget.rect().contains(
                        pos) and listWidget.count() < listWidget.maximumItems:
                    index = listWidget.indexAt(pos).row()
                    break
            else:
                listWidget = None

        if listWidget is not None:
            icon = QIcon(self.pixmap())
            item = QListWidgetItem(icon, "")
            item.filename = self.filename

            if index == -1:
                listWidget.addItem(item)
            else:
                listWidget.insertItem(index, item)

            self.setParent(None)
Пример #2
0
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        listWidget = MyListWidget(self)
        listWidget.setFixedSize(500, 600)
        self.listWidget = listWidget

        subsListWidget = MyListWidget(self)
        subsListWidget.setFixedSize(650, 100)
        subsListWidget.verticalScrollBar().setDisabled(True)
        subsListWidget.maximumItems = 7
        self.subsListWidget = subsListWidget

        layout = QVBoxLayout()
        layout.addWidget(self.listWidget)
        layout.addWidget(self.subsListWidget)

        centralWidget = QWidget()
        centralWidget.setLayout(layout)
        self.centralWidget = centralWidget

        self.setCentralWidget(self.centralWidget)
        '''json file contains positions of "outfield" players'''
        players = playersFilenames = subs = []
        try:
            with open('players.txt', 'r') as file:
                data = json.load(file)
                players = data['players']
                playersFilenames = [player['filename'] for player in players]
                subs = data['subs']
        except TypeError:
            pass

        images_directory = 'Players/'
        subs_list = [None] * 7
        index = -1

        for filename in os.listdir(images_directory):
            for group in playersFilenames, subs:
                try:
                    index = group.index(filename)
                    break
                except ValueError:
                    pass
            else:
                group = None

            if group is playersFilenames:
                label = MovableLabel(self, filename)
                label.move(players[index]['x'], players[index]['y'])
            else:
                item = QListWidgetItem(QIcon(images_directory + filename), '')
                item.filename = filename
                if group is subs:
                    subs_list.insert(index, item)
                else:
                    listWidget.addItem(item)
        for sub in subs_list:
            if sub is not None:
                subsListWidget.addItem(sub)

        # self.setStyleSheet("background-color: black;")
        self.showMaximized()
        self.setAcceptDrops(True)