Developing Python applications in Qt Creator

I've developed a few Qt projects in C++ using Qt Creator in the past, but now I want to experiment with the Python implementation of Qt. I discovered that Qt Creator 2.8 and higher support Python, but I haven't been able to figure out how to create a Qt application in Python with it so far. Online documentation about it appears to be scarce.

How do I set up such a project in Qt Creator? Ideally I'm looking for a simple "Hello World" project that I can open in Qt Creator and use that as a starting point to build something.

Answers


Currently, Qt Creator allows you to create Python files (not projects) and run them. It also has syntax highlighting, but it lacks more complex features such as autocomplete.

Running scripts requires some configuration (I used this tutorial). Open Qt Creator and go to Tools->Options->Environment->External Tools. Click Add->Add category and create a new category (for example, Python). Then, select the created category and click Add->Add Tool to create a new tool - RunPy for example. Select the created tool and fill the fields on the right:

  1. Description - any value
  2. Executable - path to python.exe
  3. Arguments - %{CurrentDocument:FilePath}
  4. Working directory - %{CurrentDocument:Path}
  5. Environment - QT_LOGGING_TO_CONSOLE=1

You get something like this:

Now, go to File->New File or Project->Python and select Python source file. To run the created script: Tools->External->Python->RunPy.

You can also add pyuic to it the same way: Click again on the Add->Add Tool button to create a new tool - PyUic now. Select it again and fill the fields on the right:

  1. Description - any value
  2. Executable - path to pyuic5
  3. Arguments - -o UI%{CurrentDocument:FileBaseName}.py -x %{CurrentDocument:FilePath}
  4. Working directory - %{CurrentDocument:Path}
  5. Environment - QT_LOGGING_TO_CONSOLE=1

Then you should have PyUic connected as well.


Thanks for this, it helped enormously.

I set up a build and run section of a new kit for python, using your instructions, which seems to work quite well.

Here are the build settings:

Here are the run settings:

note that I have /usr/bin/python as a link to /usr/bin/python3.6

Here are the project file settings:

The only thing that is necessary is to go into tools -> options -> build and run and unselect 'always build project before deploying it' and 'always deploy project before running it'.

Once you have designed a form, you can then click build to create the UI.py file and run the currently selected python source file by clicking run.

For PyQt noobs like myself, I found the following resource to be particularly helpful at getting started... (although I am on linux rather than windows)...

http://projects.skylogic.ca/blog/how-to-install-pyqt5-and-build-your-first-gui-in-python-3-4/

edit.

I also added pdb - the python debugger

which you can then select by clicking the button above the run button:

before clicking run. You can set breakpoints in your code using the following snippet, where I have added DEBUG = 1 to the system environment in the run settings of the pdb run and DEBUG = 0 to the run python env:

if (QtCore.QProcessEnvironment.systemEnvironment().value("DEBUG") == "1"):
                import pdb; QtCore.pyqtRemoveInputHook(); pdb.set_trace()

Need Your Help

Scala: binary incompatibility between releases

scala binary-compatibility

Why is Scala binary incompatible between different releases?

Machine Learning & Big Data

machine-learning bigdata

At the beginning I would like to describe my current position and the goal that would like to achieve.