There is only one Qt :-)
PyQt is a Python binding for Qt and still requires Qt libraries (binaries). So, even if you use PyQt you will need to have Qt libraries which you are using.
If I understood you correctly you need your UI on a computer (not Pi), right? This part is simple - just install the latest stable Qt version an start coding :-)
For the other part you can either directly develop on Pi (using Raspbian you can easily install Qt with apt) or you have to cross compile Qt to develop on your PC. You don't have to cross compile everything, just what you need. See https://wiki.qt.io/Raspberry_Pi_Beginners_Guide
@Oatmeal I guess you already solved your issue since 9 months passed but I experienced same issue today and solved it eventually so I want to share it anyway. Instead of using below code
using below code did the trick for me
setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsMovable | QGraphicsItem.ItemIsFocusable | QGraphicsItem::ItemSendsGeometryChanges);
Yeah i feel like i do sudo apt-get update && upgrade at least once a day. I just checked about SIP and i compiled it from source but i cant remember if i actually used the command make and make install. Does that mean i have to reinstall pyqt5 again? I guess i just open a new thread. Thanks for all the help @SGaist
this is cpp files so you need cpp compiler.
Then you would open the qiron.pro and compile it all.
It would produce some DLLS in the plugin folder.
Those should be copied to the plugin folder in QtCreator.
Note: the source is for older Qt 4.6 so it might have compile
errors u need to fix if using newer Qt.
its a good tool that allows to evaluate queries written in the language of relational algebra and visualize the result of a particular query. i wish to use it in future some time
Sr.Dev @ qwikfix
I've already had a look at the Wt, but personally I think that making and editing the GUI using text editors is way to time taking. In my app there's a lot of indicators and parameters so making and aligning it in Wt will take a week ;)
I think that I'll use GUI forwarding via ssh and maybe in the future there'll be a simpler solution.
Inside the QTableWidget, I'm guessing I'll have ~100 of my custom widgets at most.
In other use cases (i.e. not in the QTableWidget, but in static layouts), I've had up to 4000 of these widgets, with a few hundred being active (i.e. actively refreshing their data from the backend) at the same time, without any serious performance issues, so I know it scales relatively well.
Also, to elaborate on the solution I offered above: cloning the custom widget proved difficult, because it has a lot of properties (I simplified the problem, the "custom widget" is actually a family of different widgets to fit different data), and because copying Qt objects is not trivial (see http://doc.qt.io/qt-5/object.html#identity-vs-value).
What I ended up doing was write a ContainerWidget to go along the GridWidget. The ContainerWidget has a layout with no margins and is used to display another widget through a setContainedWidget() method. I also added a cloneAndPassContainedWidget() method that does what you'd expect: it returns a new ContainerWidget and gives it ownership of the contained widget. Obviously, after calling the method the original ContainerWidget becomes useless, but the method is called precisely because the original ContainerWidget is set to be destroyed, so that's not a problem. I can now use my GridWidget to display any kind of widgets, it's pretty neat! (I wrote "widget" too many times!)
I realize the "proper" way would have been to write a model, views, and delegates, but that would have required a lot more work.
I'm not sure why nobody replied before me. Maybe most users here are C++ devs and not too familiar with Python? I found your post because you tagged it with "pyqt" and I have some experience with it, so I thought I'd try helping someone while waiting for a reply to my own problem ;)
Anyway, I'm glad your issue is solved. If you can, mark the topic as solved, by editing the subject of your first post and adding [SOLVED] in front of it!