Skip to main content

A gameboard widget for pyqt gui's package

Project description

PyQtGameBoard

PyQt5 widget that draws a board on the screen to include in games or map drawing application.

Version

0.2

0.2.5 Added optional size parameter for the size of the tiles Added a rectangle board 0.2.4 removed some prints 0.2.3 fixed selection deleting previous overlays split mousepress method so its easier to subclass adding line of sight line return list of tiles touched by line of sight

0.2.2 Redone building board, zooming in / out and added selection of tile with drawing adjacent tiles

Install

pip install yongshi-pyqtgameboard

Import

from pyqtgameboards.HexagonBoard import QHexagonboard

How to

to try out, copying the following to open a widget with a gameboard This is a gameboard of 20 rows and 10 columns (feels like 20, as it only counts tiles at the same height) This example creates designated tiles that receive a green fill with a thick green line

import sys

from PyQt5 import QtWidgets, QtGui, QtCore

from pyqtgameboards.HexagonBoard import QHexagonboard

if __name__ == '__main__':

    overlays = []
    overlay1brush = QtGui.QBrush(QtGui.QColor(0,255,0,150))
    overlay1pen = QtGui.QPen(QtGui.QColor(0,255,0))
    overlay1pen.setWidth(3)
    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_())

Licence

Licensed under GPL-3.0-or-later, see LICENSE file for details.

Copyright © 2020 Michael-Yongshi.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yongshi-pyqtgameboard-0.2.5.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

yongshi_pyqtgameboard-0.2.5-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file yongshi-pyqtgameboard-0.2.5.tar.gz.

File metadata

  • Download URL: yongshi-pyqtgameboard-0.2.5.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.8

File hashes

Hashes for yongshi-pyqtgameboard-0.2.5.tar.gz
Algorithm Hash digest
SHA256 13ff457c2da305fcdecf35f7266c67970e53b88e746b20f3378ff24c60b09f78
MD5 70f2496f9e2f7aebcb10306bd8d4308b
BLAKE2b-256 7d46c4c762e822af479bdb2d4a14ab33eb1c19c8c533155a72bb376ba4439b7e

See more details on using hashes here.

File details

Details for the file yongshi_pyqtgameboard-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: yongshi_pyqtgameboard-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.8

File hashes

Hashes for yongshi_pyqtgameboard-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6886d298ce28ae5a0ebc6e2df68bbc82d9b1716bcff97db127f77e30ba9a1f0c
MD5 f76a3a321de8457c2d38c735edf6bc14
BLAKE2b-256 44b9c223d73ade6b7fefe76e9fe0e950cb3af369788c9098bade3f35f573afb6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page