PyQt5 GUI Creating QScrollArea Example

In this PyQt5 GUI article i want to show you Creating QScrollArea. The QScrollArea class provides a scrolling view onto another widget.A scroll area is used to display the contents of a child widget within a frame. If the widget exceeds the size of the frame, the view can provide scroll bars so that the entire area of the child widget can be viewed.

 

 

What is PyQt5 ?

PyQt5 is Python binding for the Qt cross platform application framework. it allows developers to create desktop applications with graphical user interface (GUI) using the Python programming language. PyQt5 is developed by Riverbank Computing and is licensed under the GPL and commercial licenses.

Qt is popular framework for developing graphical user interfaces, and PyQt5 provides access to all of Qt’s functionality, including support for widgets, layouts, graphics, multimedia and networking. it also provides Pythonic API for working with Qt, which makes it easy to create and manage GUIs in Python.

 

 

Some of the key features of PyQt5 include:

  1. Cross-platform support: PyQt5 allows developers to create applications that run on multiple platforms, including Windows, macOS and Linux.
  2. Qt Designer integration: PyQt5 includes integration with Qt Designer, it is visual tool for designing and laying out GUIs.
  3. Extensive documentation: PyQt5 provides extensive documentation and examples, which make it easy to learn and use.
  4. Support for modern Python features: PyQt5 supports the latest features of Python such as type annotations, async/await and f-strings.
  5. Large community: PyQt5 has large and active community of developers, which provides support, guidance and contributions to the project.

 

 

so PyQt5 is often used in desktop application development for creating GUIs with  functionalities, such as data visualization, multimedia playback and database integration. it is also often used in scientific and engineering applications for creating custom visualization and analysis tools, in this article you will see that how easily we can use multimedia module for creating of Media Player with Python & PyQt5.

 

 

 

Also you can read more Python GUI articles in the below links

 

 

 

How to Create ScrollArea in PyQt5

First we need some imports.

 

 

 

 

After that we are going to create our main Window class that extends from QWidget. and in

the constructor of the class we need to add some requirements of the window like set window

title, window icon and window geometry.

and in the constructor we have added a value, because we want to add some value in there.

 

 

 

In here we going to create the object of QFormLayout and QGroupBox. also we have created two empty lists.

 

 

 

Using this code we want to create some buttons to add in the window for testing the scroll of the window.

 

 

 

Also every PyQt5 application must create an application object. 

 

 

 

Finally, we enter the mainloop of the application. The event handling starts from this point. 

 

 

 

 

Complete source code for PyQt5 GUI Creating QScrollArea Example

 

 

 

Run the complete code and this is the output

PyQt5 GUI Creating QScrollArea Example
PyQt5 GUI Creating QScrollArea Example

 

 

 

This is another example for PyQt5 Scrollbar

In this example we have created QListWidget to display list of items, and after that we have created QScrollBar and connected to the list using the sliderMoved signal. when the user moves the scrollbar, the setCurrentRow method of the list is called to set the current row to the appropriate item. we add both the list and scrollbar to QVBoxLayout and set that as the layout for the widget.

when you run the example, you should see window with list of 20 items and scrollbar on the right hand side. you can use the scrollbar to scroll through the list and select different items.

 

 

 

This will be the output of above code

PyQt5 GUI Creating QScrollArea Example
PyQt5 GUI Creating QScrollArea Example

 

 

 

 

Customization of ScrollArea in PyQt5

Using customization of QScrollArea in PyQt5 you can give nice appearance and behavior of the scroll area, and it will better suit their application’s needs.

 

This is an example

This code creates a PyQt5 application window with a customized QScrollArea. It sets the scrollbar policies to control their visibility, adjusts scrollbar properties, changes size constraints and customizes the scroll bar appearance using a style sheet. scroll area contains labels as content, but you can replace them with any widgets as needed. Run this code to see the customized QScrollArea in action.

 

 

Run the code and this will be the result

Customize PyQt5 QScrollArea
Customize PyQt5 QScrollArea

 

 

 

Integrating Interactive Elements in PyQt5 QScrollArea

Integrating interactive elements inside a QScrollArea in PyQt5 enhances user engagement and provides a richer user experience. Developers can include different widgets such as buttons, checkboxes or even custom widgets to enable user interaction.

 

This is an example:

In this example, interactive elements (buttons) are added to the scroll area’s widget. Users can interact with these buttons, and developers can connect their signals to custom slots to handle button clicks and perform specific actions. This demonstrates how interactive elements can be seamlessly integrated into a QScrollArea to enhance user engagement and interactivity.

 

 

Handling events in PyQt5 QScrollArea 

Handling events of PyQt5 QScrollArea allows you to respond to user interactions, such as scroll bar movements or interactions with the content, and it provides more dynamic and interactive user experience. 

 

This is an example

 

 

 

Run the code and this will be the result

Event Handling in PyQt5 ScrollArea
Event Handling in PyQt5 ScrollArea

 

 

FAQs:

 

What is the use of QScrollArea?

QScrollArea is a widget provided by PyQt, using that you can display larger content than the visible area. It provides a scrollable viewport onto another widget or layout, and it allows you to view content that extends beyond the visible boundaries of the widget. 

 

 

What is a PyQt widget?

In PyQt, a widget is a graphical user interface (GUI) element that users can interact with it, for example buttons, labels, text boxes or scroll bars. Widgets serve as the building blocks of GUI applications, and it provides visual components that users interact with it to perform tasks or receive information. 

 

Subscribe and Get Free Video Courses & Articles in your Email

 

4 thoughts on “PyQt5 GUI Creating QScrollArea Example”

  1. Thank you for your nice site of PyQt5 tutorial; https://codeloop.org/pyqt5.
    I’m a python beginner. I learned a lot form your site.
    These days, I guess you have changed the layout of the site.
    Up until now, in the right side of the site, I could see the List of series of 80 PyQt5 tutorials.
    But now, there are the Ads instead of the List. So I can’t see these, so I can’t look for the tutorial which I want to study and can’t go to the page well.
    I’m afraid but I want you to fix it before style if you could.
    (And I’m not a English native speaker. I’m sorry for my strange English)

    Reply

Leave a Comment

Share via
Copy link
Powered by Social Snap
×