Skip to main content

PyQt widget for slide show

Project description

pyqt-slideshow

PyQt widget for slide show

Requirements

  • PyQt5 >= 5.8

Setup

python -m pip install pyqt-slideshow

Detailed Description

image

This widget mainly consists of three child widget.

  • View

  • Navigation button widget - buttons on the both sides of the view

  • Bottom button widget - buttons at the bottom

You can set the image files to show with setFilenames.

You can watch previous/next image by clicking the navigation button or nth image file by clicking the buttons at the bottom.

Image is automatically changed by internal timer(QTimer). Interval is set to 5000 milliseconds by default.

Method Overview

  • setFilenames(filenames: list) - give the image files. You have to call this one time only so far.

  • setTimerEnabled(f: bool) - set the image change timer

  • setInterval(milliseconds: int) - set the image change interval

  • setNavigationButtonVisible(f: bool) - set the navigation button's visibility(which also decides that you use it or not)

  • setBottomButtonVisible(f: bool) - set the bottom button's visibility(which also decides that you use it or not)

  • setGradientEnabled(f: bool) - Cover the dark gradient over the image

For example

  • getButtonGroup() - get the button group(QButtonGroup) which has the every button. You can get them by btnGrp.buttons()

  • getBtnWidget() - get the btn widget to set the spacing between the bottom button or other customization of button widget

  • getPrevBtn() - get the prev button

  • getNextBtn() - get the next button

Example

Code Sample 1 (Including navigation/bottom button)

from PyQt5.QtWidgets import QApplication

from pyqt_slideshow import SlideShow



if __name__ == "__main__":

    import sys



    app = QApplication(sys.argv)

    s = SlideShow()

    s.setFilenames(['bioshock.jpg', 'dragon_age.jpg', 'ride_to_hell_retribution.jpg'])

    s.show()

    app.exec_()

Result

https://user-images.githubusercontent.com/55078043/170615616-932fb93d-3311-4f97-8ad7-10943e0d2308.mp4

Code Sample 2 (Not including navigation/bottom button)

from PyQt5.QtWidgets import QApplication

from pyqt_slideshow import SlideShow



if __name__ == "__main__":

    import sys



    app = QApplication(sys.argv)

    s = SlideShow()

    s.setFilenames(['bioshock.jpg', 'dragon_age.jpg', 'ride_to_hell_retribution.jpg'])

    s.setNavigationButtonVisible(False) # to not show the navigation button

    s.setBottomButtonVisible(False) # to not show the bottom button

    s.show()

    app.exec_()

Result

https://user-images.githubusercontent.com/55078043/170641896-336308b5-6f5c-4099-8b03-029a1f81337e.mp4

TODO list

  • Give the option to go back to first page by user when pressing the next button in the last page

  • Transition effect

  • Default screen when there is no image (thumbnail?)

  • Add more styles with QML

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-slideshow-0.0.22.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

pyqt_slideshow-0.0.22-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file pyqt-slideshow-0.0.22.tar.gz.

File metadata

  • Download URL: pyqt-slideshow-0.0.22.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 CPython/3.7.6

File hashes

Hashes for pyqt-slideshow-0.0.22.tar.gz
Algorithm Hash digest
SHA256 a83c8d2853a55d40fb3d06707b4a5c7ebf52bc1302d541cb5a42187fe0c04025
MD5 7365f65133a5985d08b16e8be63a5481
BLAKE2b-256 2632a2d1a32a80c81e905c9723310a15e9a4e3097ab6a69969935809d9bb0a7c

See more details on using hashes here.

File details

Details for the file pyqt_slideshow-0.0.22-py3-none-any.whl.

File metadata

File hashes

Hashes for pyqt_slideshow-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 b8808757aa51dda275dab5c0fbbaeea168fb500899ae8847a5b99d9b9827018c
MD5 6f9b0737c346acef4ae6990a8ff6405e
BLAKE2b-256 13c837c4a6a4b2b9c5c63f34cbfc54063fe7c2a4448a2e7dd9aa70cadf7455ca

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