GUI to Shut down, Restart and Logout from the PC using Tkinter in Python
GUI:
One of the most significant factors that increased the usability of computer and digital technologies for common, less tech-savvy users is likely the development and widespread adoption of GUIs. GUIs are intuitive enough that even relatively unskilled employees without programming experience can use them. Because they are always designed with the user in mind rather than being primarily machine-centered, they have become the standard in software application programming.
The user is provided with information using manipulable visual widgets that don't require command-line input. These interface components respond to the user's interactions per the pre-programmed script, assisting each user's action. Since many GUIs represent text and graphical elements in standard formats, it is possible for programs using the same GUI software to share data. As it is patched and developed, the same software application or os version may present distinct or marginally distinct GUIs. The appearance of an application may change depending on user needs or to enhance the user experience, even if the application's core functionality and functions remain unchanged, as was the case with the various Windows versions over time.
A graphical interface (GUI) is a user interface that lets users interact with electronic devices like computers and smartphones by using menus, icons, and other visual cues (graphics). In contrast to text-based interfaces, which only display data and commands as text, GUIs visualize information and related user controls. A cursor, trackball, stylus, or thumb on a touch screen are all pointing devices that can be used to communicate with GUI representations. The first text interface between a human and a computer operated using keyboard input and a prompt.
Tkinter:
The standard Python technique for building Graphical User Interfaces (GUIs) is Tkinter, which is included in all popular Python distributions. The only framework included in the Python standard library is this one. On top of Tk, this Python framework serves as a thin object-oriented layer that provides access to the Tk toolkit. The Tk toolkit is a cross-platform set of "graphical control elements," also called widgets, used to build application interfaces. This framework gives Python users a quick and easy way to build GUI elements with the Tk toolkit's widgets. In a Python application, Tk widgets can be used to create buttons, menus, data fields, etc.
Tkinter bridges the gap between Python's execution model and Tcl's, built around cooperative multitasking. Like Python, Tcl is an interpreted dynamic programming language. Although it is an overall programming language that can be used independently, it is most frequently used in C programs as a scripting motor or as an interaction with the Tk toolbox. The Tcl library has a C interface that enables users to add custom Tcl or C commands, run Tcl commands and scripts, and manage one or more Tcl interpreter instances. Each interpreter has a queue for events that can be used to send and process events.
Syntax:
from tkinter import *
from tkinter import ttk
Advantages of Tkinter:
This promotes flexibility in handling GUI incidents, which makes the code base run more smoothly. Qt is more than just a framework; it uses a variety of native platform APIs for networking, database development, and other uses. Through a unique API, it gives them direct access.
Disadvantages of Tkinter:
Tkinter doesn't have any advanced widgets. There isn't a tool like Qt Designer for Tkinter in it. Its user interface is unreliable. Tkinter can be challenging to debug at times. It's not entirely in Python.
CODE:
from tkinter import *
import os
def shutdown():
return os.system("shutdown /s /t 1")
def restart():
return os.system("shutdown /r /t 1")
def logout():
return os.system("shutdown -l")
master = Tk()
master.configure(bg='light grey')
Button(master, text="Shutdown", command=shutdown).grid(row=0)
Button(master, text="Restart", command=restart).grid(row=1)
Button(master, text="Log out", command=logout).grid(row=2)
mainloop()
CODE EXPLANATION:
Import all the modules and widgets and modules from tkinter also import all the image and image Tk modules from PIL also import OS module and webbrowser module. Now define function to display the information. This function checks the selected key in the option menu and displays the information about that selected option for the user. Iterating through the keys in the MENU dictionary. Next displaying the information from the INFO list for the selected option. Next add a function to execute desired command. That function must and should uses the os module to execute the system shutdown command with the appropriate argument for the selected option from the menu and also iterate through the keys in the MENU dictionary. Now add a function to cancel the action, using the destroy() method to close the application, function to access the help using help() , using the open() method of the webbrowser module to access the requested URL . Move to main function create a object to the Tk() class and also settle the title of the application, size and position of the window. Next disable the resizable option for better UI. Configuring the background color of the window using configure() . Adding widgets to the application also add frames to the window. using the pack() method to set the position of the above frames heading_frame.pack(). In the same way complete heading frame, buttons frame and menu frame.
OUTPUT:
