Пример #1
0
 def iniGraphicsSystem(self, name=None):  ##初始化 Graphics View系统
     scene = GraphicsScene()  # 创建QGraphicsScene
     view = GraphicsView(self, scene)  # 创建图形视图组件
     view.mouseMove.connect(self.do_mouseMove)  # 鼠标移动
     view.mouseClicked.connect(self.do_mouseClicked)  # 左键按下
     scene.itemMoveSignal.connect(self.do_shapeMoved)
     scene.itemLock.connect(self.do_nodeLock)
     scene.isHasItem.connect(self.do_checkIsHasItems)
     if name:
         title = name
     else:
         text = self.tr('未命名')
         title = f'{text}{self.ui.tabWidget.count()}'
     curIndex = self.ui.tabWidget.addTab(view, title)
     self.ui.tabWidget.setCurrentIndex(curIndex)
     self.ui.tabWidget.setVisible(True)
    def __init__(self, parent=None):
        super(PrepareBattle, self).__init__(parent)
        self.threadpool = QThreadPool()
        layout = QtWidgets.QHBoxLayout()
        self.parent = parent

        self.opponent_player = False
        self.ally_player = False

        self.parent.board_plane = [[0 for x in range(16)] for y in range(16)]

        self.verticalLayoutWidget = QtWidgets.QWidget()
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 791, 511))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.graphicsView = QtWidgets.QGraphicsView(self.verticalLayoutWidget)
        self.graphicsView.setMouseTracking(True)
        self.graphicsView.setObjectName("graphicsView")

        self.graphics_scene = GraphicsScene()
        self.graphicsView.setMouseTracking(True)
        self.graphicsView.setScene(self.graphics_scene)
        pen = QtGui.QPen(QtCore.Qt.darkCyan)

        side = 24

        for i in range(16):
            for j in range(16):
                r = QtCore.QRectF(QtCore.QPointF(i * side, j * side), QtCore.QSizeF(side, side))
                self.graphics_scene.addRect(r, pen)

        self.horizontalLayout.addWidget(self.graphicsView)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")

        pixmap = QtGui.QPixmap("images/plane_0.png")

        self.label_2 = DragLabel(self.verticalLayoutWidget, self.graphics_scene, 0)
        self.label_2.setMinimumSize(QtCore.QSize(100, 100))
        self.label_2.setMaximumSize(QtCore.QSize(100, 100))
        self.label_2.setAcceptDrops(True)
        self.label_2.setText("")
        self.label_2.setPixmap(pixmap)
        self.label_2.setScaledContents(True)
        self.label_2.setObjectName("label_2")
        self.label_2.setMouseTracking(True)
        self.gridLayout.addWidget(self.label_2, 1, 1, 1, 1)
        self.label_3 = DragLabel(self.verticalLayoutWidget, self.graphics_scene, 1)
        self.label_3.setMinimumSize(QtCore.QSize(100, 100))
        self.label_3.setMaximumSize(QtCore.QSize(100, 100))
        self.label_3.setAcceptDrops(True)
        self.label_3.setText("")
        self.label_3.setPixmap(pixmap)
        self.label_3.setScaledContents(True)
        self.label_3.setObjectName("label_3")
        self.label_3.setMouseTracking(True)
        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
        self.label_4 = DragLabel(self.verticalLayoutWidget, self.graphics_scene, 2)
        self.label_4.setMinimumSize(QtCore.QSize(100, 100))
        self.label_4.setMaximumSize(QtCore.QSize(100, 100))
        self.label_4.setAcceptDrops(True)
        self.label_4.setText("")
        self.label_4.setPixmap(pixmap)
        self.label_4.setScaledContents(True)
        self.label_4.setObjectName("label_4")
        self.label_4.setMouseTracking(True)
        self.gridLayout.addWidget(self.label_4, 0, 1, 1, 1)
        self.label = DragLabel(self.verticalLayoutWidget, self.graphics_scene, 3)
        self.label.setMinimumSize(QtCore.QSize(100, 100))
        self.label.setMaximumSize(QtCore.QSize(100, 100))
        self.label.setAcceptDrops(True)
        self.label.setText("")
        self.label.setPixmap(pixmap)
        self.label.setScaledContents(True)
        self.label.setObjectName("label")
        self.label.setMouseTracking(True)
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.label_5 = DragLabel(self.verticalLayoutWidget, self.graphics_scene, 4)
        self.label_5.setMinimumSize(QtCore.QSize(100, 100))
        self.label_5.setMaximumSize(QtCore.QSize(100, 100))
        self.label_5.setAcceptDrops(True)
        self.label_5.setText("")
        self.label_5.setPixmap(pixmap)
        self.label_5.setScaledContents(True)
        self.label_5.setObjectName("label_5")
        self.label_5.setMouseTracking(True)
        self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.pushButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.pushButton.setMinimumSize(QtCore.QSize(100, 50))
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.click_battle_now)
        self.horizontalLayout_3.addWidget(self.pushButton)
        self.verticalLayout.addLayout(self.horizontalLayout_3)

        self.retranslateUi()
        QtCore.QMetaObject.connectSlotsByName(self)

        layout.addWidget(self.verticalLayoutWidget)
        self.setLayout(layout)

        self.wait_for_message()
Пример #3
0
    def __init__(self, parent=None):
        super(BattleField, self).__init__(parent)
        self.parent = parent

        self.threadpool = QThreadPool()
        self.next_move_shot = False

        layout = QtWidgets.QHBoxLayout()
        self.verticalLayoutWidget = QtWidgets.QWidget()
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 791, 511))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.graphicsView = QtWidgets.QGraphicsView(self.verticalLayoutWidget)
        self.graphicsView.setObjectName("graphicsView")
        self.graphics_scene_defense = GraphicsScene()
        self.graphicsView.setMouseTracking(True)
        self.graphicsView.setScene(self.graphics_scene_defense)
        pen = QtGui.QPen(QtCore.Qt.darkCyan)
        for i in range(16):
            for j in range(16):
                r = QtCore.QRectF(QtCore.QPointF(i * self.side, j * self.side),
                                  QtCore.QSizeF(self.side, self.side))
                self.graphics_scene_defense.addRect(r, pen)
        self.horizontalLayout.addWidget(self.graphicsView)

        self.graphicsView_2 = QtWidgets.QGraphicsView(
            self.verticalLayoutWidget)
        self.graphicsView_2.setObjectName("graphicsView_2")
        self.graphics_scene_attack = GraphicsScene()
        self.graphicsView_2.setMouseTracking(True)
        self.graphicsView_2.setScene(self.graphics_scene_attack)
        self.graphics_scene_attack.mousePressEvent = self.shot_bullet
        pen = QtGui.QPen(QtCore.Qt.darkCyan)
        for i in range(16):
            for j in range(16):
                r = QtCore.QRectF(QtCore.QPointF(i * self.side, j * self.side),
                                  QtCore.QSizeF(self.side, self.side))
                self.graphics_scene_attack.addRect(r, pen)
        self.horizontalLayout.addWidget(self.graphicsView_2)

        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.pushButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.pushButton.setMinimumSize(QtCore.QSize(100, 50))
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayout_3.addWidget(self.pushButton)
        self.verticalLayout.addLayout(self.horizontalLayout_3)

        self.retranslateUi()
        QtCore.QMetaObject.connectSlotsByName(self)

        layout.addWidget(self.verticalLayoutWidget)
        self.setLayout(layout)

        if type(self.parent.conn) is socket.socket:
            self.next_move_shot = True
        else:
            self.wait_for_shot()