Curso Python. Interfaces gráficas I. Vídeo 42

Curso Python. Interfaces gráficas I. Vídeo 42

Introduction to Graphical User Interfaces in Python

Overview of the Course

  • The course focuses on programming in Python, specifically introducing graphical user interfaces (GUIs).
  • A GUI is defined as a window through which users interact with programs, common in modern applications on PCs and mobile devices.

Understanding Graphical User Interfaces

  • GUIs serve as intermediaries between the executing program and the user, facilitating interaction.
  • Examples of GUIs include text processors and chat applications, which feature various elements like dropdown menus and buttons.

Terminology and Libraries

  • The term "graphical user interface" is often abbreviated as GUI (from English).
  • To create GUIs in Python, the Tkinter library is introduced; it simplifies building visually appealing interfaces.

Exploring Tkinter and Other Libraries

Additional Libraries for GUI Development

  • Besides Tkinter, other libraries such as wxPython are available for creating GUIs in Python.
  • Tkinter acts as a bridge between Python and standard libraries from other languages like Ruby.

Installation of Tkinter

  • Tkinter comes pre-installed with most Windows distributions of Python; Linux users may need to install it manually using specific commands.

Structure of a GUI Window in Python

Components of a GUI Window

  • A typical GUI window structure starts with a root element representing the main window.
  • Within this root, frames can be created to organize various elements known as widgets (e.g., buttons, checkboxes).

Widgets Explained

  • Widgets are interactive components within a GUI; even frames are considered widgets due to their organizational role.

Creating Your First GUI Application

Steps to Build an Application

  • The initial step involves creating a new file for your application within an organized directory structure.
  • Importing the Tkinter library is essential; using from tkinter import * allows access to all classes within the package.

Building the Main Window

  • Constructing the main window requires defining a variable (commonly named 'root') that initializes the Tk class.

Understanding the Main Loop in Tkinter

The Importance of the Main Loop

  • The mainloop method is essential for keeping a Tkinter window running, as it creates an infinite loop that allows the window to remain active and responsive.
  • A window must listen for user events (like clicks and keystrokes), which will be handled later in the course through various widgets such as dropdown menus and buttons.
  • This continuous execution is crucial for capturing user interactions, referred to as "events," ensuring that the application responds appropriately.

Exploring Tkinter's Features

  • Users are encouraged to research the standard library for Python's Tkinter interface, which provides comprehensive documentation on building different elements and widgets.
  • By default, a newly created window appears plain with no title or icon; modifications can be made using specific methods to enhance its appearance.

Customizing Window Properties

  • To set a title for a window, use the title method after creating an instance of Tkinter. For example: root.title("Test Window").
  • It’s important to place the mainloop instruction at the end of your code; this ensures all other configurations are applied before entering into event listening mode.

Resizing Windows

  • Windows can be resized by dragging from corners; however, you can restrict resizing by implementing specific methods like resizable().
  • The resizable() method takes two boolean parameters indicating whether resizing is allowed horizontally and vertically. Setting both to False prevents any resizing.

Changing Window Icons

  • The default icon provided by Python is basic; users can change it by providing their own .ico file located preferably in the same directory as their application.
  • To change an icon, use the iconbitmap() method with the path to your .ico file. This customizes what appears in the title bar of your application.

Creating a GUI Application: Title Bar and Icon

Setting Up the Application Icon

  • The icon used in the title bar will correspond to the application when creating distributable applications. This is important for branding and user recognition.
  • The default size of the application window can be modified, allowing for customization based on user needs or aesthetic preferences.

Adjusting Window Geometry

  • To change the window size, utilize the geometry method with parameters for width and height (e.g., 650x350). This allows developers to create elongated windows as needed.
  • After saving changes and executing, users can observe that the window reflects the specified dimensions accurately. This is crucial for ensuring a good user experience.

Configuring Background Color

  • The config method enables further customization, such as changing the background color of the application window using specific color names in English (e.g., "green"). This enhances visual appeal and usability.
  • Upon execution after these changes, users will see their customized window with adjusted size, title, icon, and background color—demonstrating effective use of configuration methods.

Running Applications Without Console

  • When running applications from an IDE like Sublime Text, they may open with a console in the background; however, this is not ideal for graphical applications where a clean interface is preferred. Users should aim to avoid this console display when launching their apps directly.
  • To prevent opening with a console behind it, change file extensions from .py to .w, indicating Windows applications which will launch without a console by default upon double-clicking. This simplifies user interaction with graphical interfaces significantly.

Conclusion of Current Session

Video description

Comenzamos a ver cómo crear interfaces gráficas en Python. Utilizamos para ello la librería Tkinter. Creamos la estructura principal de nuestra primera ventana y modificamos algunas de sus propiedades como título, ancho, alto, icono de imagen etc. Para más cursos, ejercicios y manuales visita: https//www.pildorasinformaticas.es