PyQt: Creating a Window with a StatusBar, Resizing and Positioning

Posted by


PyQt is a set of Python bindings for the Qt application framework. It allows you to create desktop applications with a graphical user interface using the Qt framework. In this tutorial, we will cover how to create a PyQt application with a main window, status bar, resize and position the window.

Creating a PyQt application with a main window:
To create a PyQt application with a main window, you will need to first install the PyQt package. You can do this using pip:

pip install PyQt5

Next, create a new Python file and import the necessary modules:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

Now, create a QApplication instance and a QMainWindow instance:

app = QApplication(sys.argv)
window = QMainWindow()
window.show()
sys.exit(app.exec_())

Running this code will create a PyQt application with a simple main window. However, the main window doesn’t have much functionality yet. Next, we will add a status bar to the main window.

Adding a status bar to the main window:
To add a status bar to the main window, you will need to use the setStatusBar method of the QMainWindow class. Modify the code as follows:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

app = QApplication(sys.argv)
window = QMainWindow()
window.statusBar().showMessage('Ready')
window.show()
sys.exit(app.exec_())

Now, when you run the code, you will see a status bar at the bottom of the main window with the message ‘Ready’. Next, we will resize and position the window.

Resizing and positioning the window:
To resize and position the window, you can use the setGeometry method of the QMainWindow class. Modify the code as follows:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

app = QApplication(sys.argv)
window = QMainWindow()
window.statusBar().showMessage('Ready')
window.setGeometry(100, 100, 800, 600)
window.show()
sys.exit(app.exec_())

In the setGeometry method, the first two arguments are the x and y coordinates of the window, and the last two arguments are the width and height of the window. Running the code will resize and position the window at coordinates (100, 100) with a width of 800 and a height of 600.

In this tutorial, we covered how to create a PyQt application with a main window, status bar, resize, and position the window. With this information, you can start building more complex PyQt applications with a graphical user interface.

0 0 votes
Article Rating
5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@redfordwilson5042
3 months ago

Wow the audio quality is so superb 👌

@sukhbirsingh2231
3 months ago

Thanks a lot for the videos.. When i try to run the code… Nothing appears as a window which we are trying to make. But if write other code in the main.. it executes….. But not the window we are hoping for… I am using Anaconda spyder to write the python code….

@djleisheng
3 months ago

It doesn't work. When I call the super constructor of QMainWindow it says "Parameter 'flags' is unfilled. I had the same issue with QWidget when making a new object. Every example code I've found shows to make the new object like w = QWidget() with no arguments, and it gives me an error. There is no decent documentation for PyQt5 anywhere so I have no idea how to fix this problem. Can you help? Right now, PyQt5 is essentially useless to me because there is no documentation and there is no example code that functions correctly.

@hrishigg3024
3 months ago

Can any one tell me, which IDE is he using?

@mephasor
3 months ago

I'm sorry, but watching your vids is quite difficult when the volume of videos is so different. Very interesting, but I almost lost my hearing when starting this one after the last one.