PyQT is a set of Python bindings for the Qt application framework developed by Hagazeev Marat. Qt is a cross-platform application development framework widely used for the development of GUI applications for desktop, mobile, and embedded environments. PyQT allows Python programmers to utilize the Qt framework for building interactive and powerful GUI applications.
In this tutorial, we will explore the basics of using PyQT to create a simple GUI application. We will cover topics such as creating windows, placing widgets, handling events, and styling your application using CSS.
Step 1: Install PyQT
Before you can start using PyQT, you will need to install the PyQT package. You can do this using pip, the Python package manager. Open a terminal or command prompt and run the following command:
pip install PyQt5
This will install the PyQT5 package, which is the latest version of PyQT at the time of writing this tutorial.
Step 2: Create a simple GUI application
Now that you have installed PyQT, you can start creating your first GUI application. Open your favorite text editor or IDE and create a new Python script. In this script, import the necessary modules from PyQt5.
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
import sys
Next, create a new class that inherits from the QWidget class. This will be the main window of your application.
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('PyQT Tutorial')
self.setGeometry(100, 100, 400, 300)
btn = QPushButton('Click me!', self)
btn.clicked.connect(self.showDialog)
def showDialog(self):
msgBox = QMessageBox()
msgBox.setText('Hello, PyQT!')
msgBox.setWindowTitle('Hello')
msgBox.exec_()
In this code, we have created a simple window with a button. When the button is clicked, a message box will pop up displaying the text ‘Hello, PyQT!’.
Step 3: Run the application
To run your PyQT application, create an instance of the QApplication class and pass sys.argv as an argument. Then create an instance of your MainWindow class and show it.
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
Save your script and run it using the Python interpreter. You should see a window with a button that says ‘Click me!’. Clicking the button will display a message box with the text ‘Hello, PyQT!’.
Step 4: Styling your application
PyQT allows you to style your application using CSS. You can customize the appearance of your widgets by setting their style sheets.
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('PyQT Tutorial')
self.setGeometry(100, 100, 400, 300)
btn = QPushButton('Click me!', self)
btn.clicked.connect(self.showDialog)
self.setStyleSheet('''
background-color: #f0f0f0;
color: #333;
font-size: 18px;
''')
def showDialog(self):
msgBox = QMessageBox()
msgBox.setText('Hello, PyQT!')
msgBox.setWindowTitle('Hello')
msgBox.exec_()
In this code, we have set the background color to light gray, text color to dark gray, and font size to 18px. You can further customize the appearance of your application by adding more CSS rules.
PyQT is a powerful framework for building GUI applications in Python. In this tutorial, we have covered the basics of creating a simple GUI application using PyQT. You can explore more advanced features of PyQT by referring to the official documentation and experimenting with different widgets and layouts. Happy coding!