However, I’m not sure if it works if Python is embedded. PySide vs PythonQt: By far the most widely used Python wrapping of Qt is PySide (provided by Qt company), which is important because all examples that you find on StackOverflow are for this. and there are a very few low-level packages, such as async, which may not work well in a Qt application. However, it means that your application cannot be pip-installed, you need to take custom solutions from Paraview or Slicer to set up debugging, jupyter kernels, etc. It also allows making Python an optional dependency (you can enable/disable Python support by a flip of a CMake switch). By embedding Python you retain control over your application (including building, packaging, distributing, and tricky parts, such as application initialization, multithreading, etc.). However, I’m not sure how many projects use VTK with Qt QML - you may need to invest time into making the VTK renderer work in QML and plan extra time for testing and development at each Qt or VTK release.Įmbedding Python or extending Python: You need to decide if you want your application to be a Qt application or Python.exe. You can customize classic widgets with stylesheets to get modern look and feel, but it is easier to create custom GUIs (that does not resemble native controls) using QML. However, Qt essentially stopped development of classic widgets years ago and they just do minimal bugfixes, if even that. QML or classic widgets: Classic widgets are guaranteed to work, because both major projects that use VTK with Qt (Paraview and 3D Slicer) use those. If you only need a GUI toolkit and use Python as OS abstraction then you might want look around if you find something that has enough capabilities and has a more trustworthy leadership than the current Qt Company. If you need Qt not just as a GUI toolkit but also as operating system abstraction for C++ then there are not really any good alternatives. Qt: Qt Company has been very capricious recently, essentially working against its users by restricting access to pre-built binaries and source code. This could be a good approach overall, but there are several non-trivial decisions to make.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |