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