问题
I have installed Qt designer 4.8.2, Pyside, and Python 3.3. When I create a form with Qt designer I am not able to see the code when clicking on view code. The error message is:"Unable to launch C:\Qt\4.8.2\bin\uic". I have the pyuic under C:\Python33\Lib\site-packages\PyQt4\uic. Please help.
回答1:
Although you can certainly use Qt Designer for creating UIs for PySide/PyQt, you should be aware that it is primarily a C++ tool - it doesn't have any built in support for Python. So the "View Code..." command you refer to only produces C++ code - which is probably not much use to you if you intend using PySide or PyQt.
Qt Designer UI files are in an XML format (they usually have a .ui extension).
To use them with Python, there are basically two options:
- Load the .ui files directly into your application.
- Convert the .ui files into Python modules using an external tool.
There are several differences between PySide and PyQt in how these two options are implemented.
For PyQt, the full documention for both options can be found here.
For PySide, the documentation for option 1 can be found here - but it does not look like there is any documentation for option 2. However, the external tool for PySide (which is called pyside-uic
) works very similarly to the one for PyQt (which is called called pyuic4
).
If you need more general information about how to get started using Qt with Python, try the PySide Wiki or the PyQt Wiki.
回答2:
If you were looking to generate python code, you would do this from the console. So, if you saved your file from the program as 'untitled', the default, run this:
pyuic5 -m untitled.ui -o untitled.py
Making sure your working directory is the file location of 'untitled.ui'. It will then spit untitled.py into the same place.
回答3:
Just create a directory where it search for uic.exe file and copy existing uic.exe file to that directory.
My example : When I clicked View Code it shows Error asking for file uic.exe in path C:\python374\Lib\site-packages\pyqt5_tools\Qt\bin\bin
But I found uicexe file is in C:\python374\Lib\site-packages\pyqt5_tools\Qt\bin folder So I created another bin folder and copied uic.exe into that folder . That solved my problem.
回答4:
To make
Form -> View code
work, directly from Qt Designer using either Qt4 or Qt5, you can just create a symbolic link from where Qt Designer is looking, pointing to where your pyuic5.exe executable is. With your example, it would be:
mklink /H "C:\Qt\4.8.2\bin\uic.exe" "C:\Python33\Lib\site-packages\PyQt4\pyuic4.exe"
Which is:
mklink /H "Path\to\uic.exe\file\Qt\designer\is\looking\for" "Path\to\actual\location\of\pyuic4.exe\or\pyuic5.exe\file"
Make sure the folder where "C:\Qt\4.8.2\bin\uic.exe" will reside exists obviously.
来源:https://stackoverflow.com/questions/13792502/unable-to-launch-qt-uic