Hey since no one really builded a complete package of PyQt5 for ida pro with QT namespace i took the time to do this myself.
Its based on my tut for building the PyQt4 version.However it is a little more difficult to build the PyQt5 version.
reason is to have fun making plugins for the ida pro 6.95 demo.
Took around 10 hours
The blog post how to build it, was not very helpfull for me. but since i have builded both QT and PyQT numerous times, i got it in the end.
I builded it as a total package with.
Sip 4.18, note this is compatible with ida <6.9 also, so no error if you run earlier versions.
Qscilla 2 for PyQT5 , always wonder how people forget to build this.
Also includes designer for PyQt5 with Qsci plugin, for building ui faster.
Install
run the installer.
the installer sets your python home correct in system env var.
installer can be uninstalled like any other program.
select your python27 folder. installer can be installed in any python27 folder where ever you have that folder.
Pyqt5 trouble shoot
Qt platform plugin "windows" not found
This application failed to start because it could not find or load the Qt platform plugin "windows" Reinstalling the application may fix this problem
This is because it fails to find qwindows.dll correct in plugins\platform folder, or finds another qwindows.dll before it reaches the correct file.
Fix is to add this to user var(not system var)
QT_QPA_PLATFORM_PLUGIN_PATH=C:\Python27\lib\site-packages\PyQt5\plugins\platforms
Where
C:\Python27\lib\site-packages\PyQt5\plugins\platforms
can be the any folder where you installed PyQt5
like this
4k scale error
On 4k Displays many times your PyQt5 app do not scale right, it might even be very tiny looking.
fix
two ways
first
in user var and not sytem var
use
or second
Before app is loaded, and not while loading.
insert
Like this
also needed is the python package for ida6.95 tag 1.72
Python 2.7.12rc1 (v2.7.12rc1:13912cd1e7e8, Jun 12 2016, 05:51:33) [MSC v.1500 32 bit (Intel)]
IDAPython v1.7.2 final (serial 0) (c) The IDAPython Team <idapython@googlegroups.com>
https://github.com/idapython/src
uploading my innosetup script also for insight of the installer.
installer
MD5 1bacbe240114cbf2afbf52f5b47dcd67
https://mega.nz/#!Dt9xHD7D!bwZVrOd4H4EpsW9c3iz1rU9R_x_LogYQMto8wu6IF4c
test in demo
also try hello_pyqt5.py script attached in buttom.
final note
if anyone just needs the pyds let me know!
Also the installer should have been called x86, and not x32.
I was a little tired when making this.:angrybird9.gif:
Its based on my tut for building the PyQt4 version.However it is a little more difficult to build the PyQt5 version.
reason is to have fun making plugins for the ida pro 6.95 demo.
Took around 10 hours
The blog post how to build it, was not very helpfull for me. but since i have builded both QT and PyQT numerous times, i got it in the end.
I builded it as a total package with.
Sip 4.18, note this is compatible with ida <6.9 also, so no error if you run earlier versions.
Qscilla 2 for PyQT5 , always wonder how people forget to build this.
Also includes designer for PyQt5 with Qsci plugin, for building ui faster.
Install
run the installer.
the installer sets your python home correct in system env var.
installer can be uninstalled like any other program.
select your python27 folder. installer can be installed in any python27 folder where ever you have that folder.
Pyqt5 trouble shoot
Qt platform plugin "windows" not found
This application failed to start because it could not find or load the Qt platform plugin "windows" Reinstalling the application may fix this problem
This is because it fails to find qwindows.dll correct in plugins\platform folder, or finds another qwindows.dll before it reaches the correct file.
Fix is to add this to user var(not system var)
QT_QPA_PLATFORM_PLUGIN_PATH=C:\Python27\lib\site-packages\PyQt5\plugins\platforms
Where
C:\Python27\lib\site-packages\PyQt5\plugins\platforms
can be the any folder where you installed PyQt5
like this
4k scale error
On 4k Displays many times your PyQt5 app do not scale right, it might even be very tiny looking.
fix
two ways
first
in user var and not sytem var
use
Code:
QT_AUTO_SCREEN_SCALE_FACTOR=2
or second
Before app is loaded, and not while loading.
insert
Python:
if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'):
PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True)
if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'):
PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True)
Python:
import PyQt5
from PyQt5 import QtCore, QtGui, uic, QtWidgets
from PyQt5.QtWidgets import QWidget
if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'):
PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True)
if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'):
PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True)
class MyWindow(PyQt5.QtWidgets.QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
also needed is the python package for ida6.95 tag 1.72
Python 2.7.12rc1 (v2.7.12rc1:13912cd1e7e8, Jun 12 2016, 05:51:33) [MSC v.1500 32 bit (Intel)]
IDAPython v1.7.2 final (serial 0) (c) The IDAPython Team <idapython@googlegroups.com>
https://github.com/idapython/src
uploading my innosetup script also for insight of the installer.
installer
MD5 1bacbe240114cbf2afbf52f5b47dcd67
https://mega.nz/#!Dt9xHD7D!bwZVrOd4H4EpsW9c3iz1rU9R_x_LogYQMto8wu6IF4c
test in demo
also try hello_pyqt5.py script attached in buttom.
final note
if anyone just needs the pyds let me know!
Also the installer should have been called x86, and not x32.
I was a little tired when making this.:angrybird9.gif:
Attachments
Last edited: