PyqtGUI包的游戏板小部件

pyqt-gameboard的Python项目详细描述


Pyqt游戏板

PyQt5小部件,在屏幕上绘制一块板以包括在游戏或地图绘制应用程序中。在

版本

0.2

0.2.6为优化和定制创建了QGameboard父类 0.2.5为瓷砖尺寸添加了可选的尺寸参数 添加了一块矩形板 游戏名改为pyqt 0.2.4删除了一些指纹 0.2.3固定选择删除以前的覆盖 拆分mousepress方法以便更容易子类化 添加视线 返回视线接触的瓷砖列表

0.2.2重做建筑板,放大/缩小并添加瓷砖选择,绘制相邻瓷砖

安装

pip install pyqt-gameboard

进口

直接使用

导入直接可用板

^{pr2}$

自定义形状网格的通用父类

或者导入父类QGameboard以创建与默认值不同的样式映射

from pyqtgameboards.gameboard import QGameboard

确保对需要特定形状实现的方法进行超级化

add_shape_to_scene # logic for adding a shape to a grid
get_adjacent_tiles # logic for determining the adjacent tiles

如何

尝试一下,复制下面的方法打开一个带有六边形板的小部件 这是一个20行10列的游戏板(感觉像20,因为它只计算相同高度的牌) 此示例创建接收带有粗绿线的绿色填充的指定瓷砖

import sys

from PyQt5 import QtWidgets, QtGui, QtCore

from pyqtgameboards.gameboard import QHexagonboard

if __name__ == '__main__':

    overlays = []

    overlay1brush = QtGui.QBrush(QtGui.QColor(0,255,0,150))
    overlay1pen = QtGui.QPen(QtGui.QColor(0,255,0), 3, QSolidLine)

    overlay1dict = {
        "Brush": overlay1brush,
        "Pen": overlay1pen,
        "Positions": [
            [1, 1], 
            [2, 1],
            [1, 2],
            [3, 3],
            ],
        }

    overlays.append(overlay1dict)

    global app
    app = QtWidgets.QApplication(sys.argv)
    global main
    main = QtWidgets.QMainWindow()

    main.setCentralWidget(QHexagonboard(
        horizontal = True, 
        rows = 20, 
        columns = 10,
        overlays = overlays,
        ))

    main.showMaximized()
    sys.exit(app.exec_())

许可证

根据GPL-3.0或更高版本授权,请参阅许可证文件以了解详细信息。在

版权所有©2020 Michael Yongshi。在

此程序是自由软件:您可以根据自由软件基金会发布的GNU通用公共许可证条款重新分发和/或修改它,可以是该许可证的第3版,也可以是任何更高版本(由您选择)。在

本程序的发布是希望它能有用,但没有任何保证;甚至没有对适销性或特定用途适用性的暗示保证。有关更多详细信息,请参阅GNU通用公共许可证。在

您应该已经收到了GNU通用公共许可证的副本以及此程序。如果没有,请参见http://www.gnu.org/licenses/。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java理解泛型   java Guava:如何自定义减少多重映射?   java无法构建实体管理器工厂JPA/Hibernate   不区分大小写的LDAP搜索   在java中同时调用所有类对象中的方法   java做高级数字计算?2.1k等于2100等。。?   java Camel netty组件:未能创建选择器   exceljava。lang.ClassCastException:ExcelStreamAction无法强制转换为com。开放交响乐团。xwork2。行动   java避免对嵌套a4j:区域进行验证   java如何使一帧在1秒内显示50次,每次显示时消失   java一个HashMap的遍历,我得到NullPointerException   windows HP Stream 8平板电脑。。。Java swing JScrollPane滚动在触摸屏上不工作   java如何在运行时根据用户/程序员的需要自动增加数组的大小?