Using Wing with PyQt
Classic+
Wing is a Python IDE that can be used to develop, test, and debug Python code written for the PyQt cross-platform GUI development toolkit.
If you do not already have Wing installed, download it now.
This document describes how to configure Wing for PyQt. To get started using Wing as your Python IDE, please refer to the tutorial in Wing's Help menu or read the Quickstart Guide.
Introduction
PyQt is a set of Python bindings for the Qt application framework, available under the GPL or a commercial license, for writing GUIs that run with native look and feel on Windows, Linux, and macOS.
While Wing does not provide a GUI builder for PyQt, it does provide advanced editing, debugging, testing, and code inspection capabilities for Python, and it can be used with other available GUI builders, as described below.
These instructions also work with PySide6, the Qt Company's LGPL-licensed Python bindings for Qt, which is installed with pip install PySide6.
Installation and Configuration
Take the following steps to set up and configure Wing for use with PyQt:
- Install PyQt with pip install PyQt6, as described in Installing PyQt6.
- Install Wing if you don't already have it.
- Start Wing from the Start menu on Windows, the Finder on macOS, or by typing wing12.1 on the command line on Linux.
- Select Show Python Environment from the Source menu. If the Python version reported there doesn't match the one you're using with PyQt, then select Project Properties from the Project menu and set Python Executable.
Open your PyQt code in Wing, or create a file hello.py that contains the example below, and then select Add Current File from the Project menu to add it to your project:
import sys from PyQt6.QtWidgets import QApplication, QPushButton def on_click(): print('Button clicked') app = QApplication(sys.argv) button = QPushButton('Click Me') button.clicked.connect(on_click) button.show() sys.exit(app.exec())- Set hello.py as main entry point for debugging with Set Current as Main Entry Point in the Debug menu.
- Save your project to disk. Use a name ending in .wpr.
Test Driving the Debugger
Now you're ready to try out the debugger:
Start debugging with the Start / Continue item in the Debug menu. Uncheck the Show this dialog before each run checkbox at the bottom of the dialog that appears and select OK.
The application will start up. If its window doesn't come to front, bring it to front from your task bar or window manager.
Next set a breakpoint on the print line in on_click. Once set, this breakpoint should be reached whenever you click on the Click Me button.
From here, you can step through code or inspect the program state with Stack Data and other tools. In Wing, the Debug Console provides a command line that allows you to interact with the current stack frame in your debug process. All the debugging tools are available from the Tools menu.
See the Wing Tutorial and Quick start for more information.
Using a GUI Builder
Wing doesn't include a GUI builder for PyQt but it can be used with an external GUI builder like Qt Designer. Wing will automatically reload files that are generated by the GUI builder.
Related Documents
For more information see:
- PyQt home page, which provides links to documentation and downloads.
- Quickstart Guide contains additional basic information about getting started with Wing.
- Tutorial provides a gentler introduction to Wing's features.
- Wing Reference Manual documents Wing in detail.