import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QGridLayout, QPushButton from PyQt5.QtCore import Qt, QRect, QPoint class MainWindow(QWidget): def __init__(self): super().__init__() # 初始化界面 self.initUI() def initUI(self): # 设置窗口标题和大小 self.setWindowTitle('2048 游戏') self.setGeometry(300, 300, 400, 300) # 创建标签和按钮 self.label = QLabel(self) self.label.setText('2048') self.label.move(50, 50) self.button = QPushButton('开始', self) self.button.move(150, 50) # 创建布局 self.layout = QGridLayout(self) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.addWidget(self.label, 0, 0) self.layout.addWidget(self.button, 1, 0) # 设置按钮的点击事件 self.button.clicked.connect(self.play) def play(self): # 获取输入 width, height = self.layout.sizeHint() self.board = [[0 for j in range(height)] for i in range(width)] self.gameOver = False # 开始游戏 for i in range(1, 10): for j in range(self.board.shape[0] // 2): if self.board.shape[j * 2 - 1] == 0 and self.board.shape[j * 2] == 0: self.board.shape[j * 2 - 1] = i self.board.shape[j * 2] = i self.gameOver = True # 显示结果 self.show() if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_())
时间: 2024-02-10 19:18:27 浏览: 162
pyqt5、qtdesigner安装和环境设置教程
5星 · 资源好评率100%
这段代码是使用 PyQt5 库实现的一个简单的 GUI 窗口程序,实现了一个经典游戏 2048 的界面和开始按钮。在窗口中,使用 QGridLayout 布局将标签和按钮添加到窗口上,并实现了按钮的点击事件。点击开始按钮后,程序会初始化一个 2048 的游戏界面,并在界面上显示出来。具体实现细节可以通过阅读代码来了解。
阅读全文