Skip to main content

PyQt QGraphicsView with bounding box. User can move vertical border of the box horizontally.

Project description

pyqt-hbounding-box

PyQt QGraphicsView with bounding box. User can move vertical border of the box horizontally.

Requirements

PyQt5 >= 5.8

Setup

python -m pip install pyqt-hbounding-box

Feature

  • Being able to drag and drop vertical border horizontally

  • Pressing mouse cursor to place more adjacent border on the spot.

  • Right click to release the focus of the box

  • You can set the background out of the box darker with setDarkerOutOfBox(f: bool).

Example

Code Sample

from PyQt5.QtWidgets import QWidget, QGridLayout, QApplication, QPushButton, QFileDialog



from pyqt_hbounding_box.hboundingBox import HBoundingBox





class HBoundingBoxExample(QWidget):

    def __init__(self):

        super().__init__()

        self.__initUi()



    def __initUi(self):

        addImageBtn = QPushButton('Add image')

        addImageBtn.clicked.connect(self.__addImage)

        self.__view = HBoundingBox()



        lay = QGridLayout()

        lay.addWidget(addImageBtn)

        lay.addWidget(self.__view)



        self.setLayout(lay)



    def __addImage(self):

        filename = QFileDialog.getOpenFileName(self, 'Open', '', 'Image Files (*.png *.jpg *.bmp)')

        if filename[0]:

            filename = filename[0]

            self.__view.setFile(filename)





if __name__ == "__main__":

    import sys



    app = QApplication(sys.argv)

    ex = HBoundingBoxExample()

    ex.show()

    sys.exit(app.exec_())

Result

https://user-images.githubusercontent.com/55078043/147186296-fa9083d0-67c6-4d7e-b139-7845ee38ddf9.mp4

See Also

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

pyqt-hbounding-box-0.0.13.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

pyqt_hbounding_box-0.0.13-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

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