- Related Questions & Answers
- Selected Reading
PythonTkinterServer Side ProgrammingProgramming
Python is well known for its large set of libraries and extensions, each for different features, properties and use-cases. To handle PDF files, Python provides PyPDF2 toolkit which is capable of processing, extracting, merging multiple pages, encrypting PDF files, and many more. It is a very useful Package for managing and manipulating the file streams such as PDFs. Using PyPDF2, we will create a Tkinter application that reads the PDF file by asking users to select and open a PDF file from the local directory.
Python Tkinter Example Code
To create the application, we will follow the steps given below −
Python GUI To develop GUI application in Python, there are multiple options in terms of python packages. The most generally used package is tkinter. In this Python GUI Tutorial, we will use tkinter to learn how to develop GUI applications. You may be wondering on why we are using tkinter. The answer is quite simple. To create a GUI Window, tkinter provides Tk class. The syntax of Tk class is: Following is a simple example to create a GUI Window. Example.py – Python Program Output Python Tkinter Tutorial import tkinter as tk from tkinter import. Tk(screenName=None, baseName=None, className=’Tk’, useTk=1) import tkinter as tk mainwindow = tk.Tk. A Python Book A Python Book: Beginning Python, Advanced Python, and Python Exercises Author: Dave Kuhlman Contact: [email protected] Learn Tkinter By Example - a free book. Contribute to Dvlv/Tkinter-By-Example development by creating an account on GitHub. Pack Examples #packsample.py from Tkinter import. # Hold onto a global reference for the root window root = None count = 0 # Click counter def addButton(root, sideToPack): global count name = 'Button '+ str(count) +' '+sideToPack button = Button(root, text=name) button.pack(side=sideToPack) count +=1 def main: global root.
Install the requirement by typing
pip install PyPDF2in the command Shell. Once installed, import the library in the notebook using import Pypdf2 in Notebook.
Import filedialog to create a dialog box for selecting the file from the local directory.
Create a Text Widget and add some Menus to it like Open, Clear, and Quit.
Define a function for each Menu.
Define a function to open the file. In this function, first, we will read the file using PdfFileReader(file). Then, extract the pages from the file.
Insert the content in the Text Box.
Define the function for Quit Menu.
Running the above code will display a full-fledged tkinter application. It has functionalities of opening the file, clearing the file, and quit to terminate the application.
Click the 'File' Menu on upper left corner of the application, open a new PDF File in the Text Box.
- Python 3 Basic Tutorial
- Python 3 Advanced Tutorial
- Python 3 Useful Resources
- Selected Reading
Python provides various options for developing graphical user interfaces (GUIs). The most important features are listed below.
Tkinter − Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We would look this option in this chapter.
wxPython − This is an open-source Python interface for wxWidgets GUI toolkit. You can find a complete tutorial on WxPython here.
PyQt −This is also a Python interface for a popular cross-platform Qt GUI library. TutorialsPoint has a very good tutorial on PyQt here.
JPython − JPython is a Python port for Java, which gives Python scripts seamless access to the Java class libraries on the local machine http://www.jython.org.
There are many other interfaces available, which you can find them on the net.
Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.
Creating a GUI application using Tkinter is an easy task. All you need to do is perform the following steps −
Import the Tkinter module.
Create the GUI application main window.
Add one or more of the above-mentioned widgets to the GUI application.
Enter the main event loop to take action against each event triggered by the user.
This would create a following window −
Tkinter provides various controls, such as buttons, labels and text boxes used in a GUI application. These controls are commonly called widgets.
There are currently 15 types of widgets in Tkinter. We present these widgets as well as a brief description in the following table −
|Sr.No.||Operator & Description|
The Button widget is used to display the buttons in your application.
The Canvas widget is used to draw shapes, such as lines, ovals, polygons and rectangles, in your application.
The Checkbutton widget is used to display a number of options as checkboxes. The user can select multiple options at a time.
The Entry widget is used to display a single-line text field for accepting values from a user.
The Frame widget is used as a container widget to organize other widgets.
The Label widget is used to provide a single-line caption for other widgets. It can also contain images.
The Listbox widget is used to provide a list of options to a user.
The Menubutton widget is used to display menus in your application.
The Menu widget is used to provide various commands to a user. These commands are contained inside Menubutton.
The Message widget is used to display multiline text fields for accepting values from a user.
The Radiobutton widget is used to display a number of options as radio buttons. The user can select only one option at a time.
The Scale widget is used to provide a slider widget.
The Scrollbar widget is used to add scrolling capability to various widgets, such as list boxes.
The Text widget is used to display text in multiple lines.
The Toplevel widget is used to provide a separate window container.
The Spinbox widget is a variant of the standard Tkinter Entry widget, which can be used to select from a fixed number of values.
A PanedWindow is a container widget that may contain any number of panes, arranged horizontally or vertically.
A labelframe is a simple container widget. Its primary purpose is to act as a spacer or container for complex window layouts.
This module is used to display message boxes in your applications.
Let us look at how some of their common attributes, such as sizes, colors and fonts are specified.
All Tkinter widgets have access to the specific geometry management methods, which have the purpose of organizing widgets throughout the parent widget area. Tkinter exposes the following geometry manager classes: pack, grid, and place.
Python Tkinter Gui Examples
The pack() Method − This geometry manager organizes widgets in blocks before placing them in the parent widget.
The grid() Method − This geometry manager organizes widgets in a table-like structure in the parent widget.
The place() Method − This geometry manager organizes widgets by placing them in a specific position in the parent widget.