Skip to content

The problem with any presentation software such as PowerPoint, iWork Keynote or LibreOffice Impress is that they present in full-screen, which isn't the best option when you are doing live screen sharing and using other apps at the same time. This slideshow app, written in Python 3.8 will help you out in such a case.

Notifications You must be signed in to change notification settings

vismodo/Python3-Slideshow-Software

Repository files navigation

Python 3 Slideshow Software - Version 2.0

The problem with any presentation software such as PowerPoint, iWork Keynote or LibreOffice Impress is that they present in full-screen, which isn't the best option when you are doing live screen sharing and using other apps at the same time. This slideshow app, written in Python 3.8 will help you out in such a case. The best part is that it is open-source, and even Not-Experienced Python developers can understand, easily!

Basic Demo.gif

More Demonstrations: Wiki Page

Usage

  1. Click here to clone the repository. Extract all the contents into one folder.

If you choose to use 'Slideshow Software.py' or Without Pillow.py in IDLE, open Command Prompt or Terminal on your computer and install Pillow with pip, like this:

pip install Pillow

Or, if your default Python version is Python 2.7 (find out with python --version),

pip3 install Pillow
  1. Open 'Slideshow Software.py' and not Without Pillow.py in IDLE

  2. Click on Run -> Run Module and wait for a tkinter window to pop up.

Alternatively, you can also try executing python3 or python followed by your file's location like this, in Terminal or Command Prompt

python3 /Users/Me/Documents/Python3-Slideshow-Software-master/Slideshow Software.py
  1. Click on 'Create your slideshow' if you already have your pictures in one folder.

drawing

If you do not, click on 'Export PPTX as images' to get the instructions as an alert, like this.

alert

  1. Select the folder which contains the images for the slideshow.

open_dir

  1. Your presentation has started!

drawing

  1. You can now change the slides from the 'Controls' window.

controls

  1. In your call, click on 'Share Screen' and select your presentation! You also have a window for presenter notes!

drawing

  1. If you wish to stop, from the 'Slideshow' dropdown menu in the ribbbon, select 'Quit'.

slideshow_dropdown.png

Customising the Code

root.title('Python Presentation Software')

Troubleshooting

Degraded Image quality after resizing in Without Pillow.py

  • If the image turns out to be a little blurry or degraded in Without Pillow.py, Just move to a different slide and go back. This is a problem with tkinter's Photoimage class.

  • Click on the Set Size to resize the image, which also refreshes the slide during runtime

  • Execute open_img one more time, though the Set Size button already does that

For further queries, create an issue and I will get back to you as fast as possible.

The slideshow quits unexpectedly after an alert

  • This happens if you try and go to the next slide after reaching the last one. I have fixed the code once it first happened.

  • You need to check your code and see if any extra item gets added to filelist. If that is happening, just remove it with filelist.pop() and the index as argument

Tkinter Error if I select cancel in filedialog

  • This is an error that occurs only because the filedialog returns an empty string, and os.listdir can't make out what is in the directory, so that too returns an empty list.
filedir = filedialog.askdirectory(title='Where are all your images?')
filename = os.listdir(filedir)
  • Now, tkinter wants to open the image from the directory, and nothing is there for it to open, so you will get a huge error linking to line 1883 of tkinter's __init__.py file.
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Some Directory/tkinter/__init__.py", line 1883, in __call__
    return self.func(*args)
  File "/Some Directory/Slideshow App V2.py", line 33, in next_func
    filename = os.listdir(filedir)
FileNotFoundError: [Errno 2] No such file or directory: ''
  • To fix this, you need to show an alert with showinfo and quit the program if filename is empty

An issue is not listed here?

  • I have worked on this project and debugged it for over a week. If you have any other problem or feature you would like to suggest, submit an issue. I will give update the code in a couple days and put the soulution in this list and I will also respond to your issue in the issues tab

Releases

Release Information in Wiki

  • Version 1.0 (Deprecated): Presenter notes, slidehshow controls in new window

  • Version 2.0: Save an load presenter notes, hide and show presenter notes and controls, resize slides with slider, ribbon menus for slideshow, controls, presenter notes and help

Areas for improvement

I am unable to fix these issues, so you can solve these and tell me how you solved by submitting an issue

  • Split .pptx presentations to images without the python-pptx module.
  • Split .pdf documents into images without the pdf2jpg module.
  • Download images from the web and create presentations from those.

About

The problem with any presentation software such as PowerPoint, iWork Keynote or LibreOffice Impress is that they present in full-screen, which isn't the best option when you are doing live screen sharing and using other apps at the same time. This slideshow app, written in Python 3.8 will help you out in such a case.

Topics

Resources

Stars

Watchers

Forks

Languages