Re: [Interest] Recommendation for fast drawing for QtQuick?
My first implementation was with QNanoPainter on OpenGL and was not fast enough. The QSGGeometry code is 4X faster and half the CPU utilization of QNanoPainter. QNanoPainter has better line quality than what I achieved with QSGGeomery, but I need not only speed but low CPU utilization. On Sat, May 11, 2024 at 2:58 AM wrote: > -- Forwarded message -- > From: Samuel Stirtzel > To: Stan Morris > Cc: interest@qt-project.org > Bcc: > Date: Sat, 11 May 2024 03:11:40 +0200 > Subject: Re: [Interest] Recommendation for fast drawing for QtQuick? > Hi, > > there is also qnanopainter, an opengl / nanovg based painting library > for qt, it is available under the zlib license at > https://github.com/QUItCoding/qnanopainter > However, I only used this on an i.MX6Q with entaviv on qt 5.15 years > ago, the performance was very good though. > > ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
[Interest] Recommendation for fast drawing for QtQuick?
I need to draw a lot of lines with low CPU utilization in a QtQuick app on ARM i.MX8. Neither QML Shapes nor QNanoPainter are fast enough. What do you recommend? Drawing with QSGGeometry is fast enough, but I need to draw lines with widths greater than one pixel and there's an annoying notch on line joins. My first attempt at rounded end caps ends up as single pixels. I see there are ways to draw circles... but I feel like QSGGeometry is the wrong direction. This is Qt 6.7 on Linux (could be Qt 6.8 in a few months). Surely there is something better? QSGRenderNode and QRhi look promising, but I want to get an opinion before I spend the next few weeks exploring QSGRenderNode. Also, it would be nice to draw text from C++ to keep the interface simple. Thanks, Stan ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] Medical device companies using Qt
The guy's posts bury useful responses. Everything else on interest@qt-project.org is interesting. I would like his responses filtered out. I read a few. I cannot get that time back. On Sat, Oct 29, 2022 at 11:04 AM Elvis Stansvik wrote: > Den lör 29 okt. 2022 kl 19:26 skrev Stan Morris : > > > > A poster (troll?) writes that few medical device companies use Qt. That > is simply incorrect. > > I'm sorry to say it, but I see a reply from the same in your near future... > > Elvis > > > > > I know developers at 4 medical device companies of which 3 use Qt: Qt 5, > Qt 6, and don't know if the 3rd transitioned to Qt 6 yet. > > > > Look at job postings. A "Qt" search on indeed.com for job postings in > Newport Beach, CA showed 3 of the first 10 postings are at medical device > companies: Massimo, Johnson & Johnson, and Nihon Kohden are medical device > companies that are hiring Qt developers. > > > > Lack of interest in Qt by medical device companies is misinformation. I > apologize for not contributing to the technical tone of this list. > > ___ > > Interest mailing list > > Interest@qt-project.org > > https://lists.qt-project.org/listinfo/interest > ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
[Interest] Medical device companies using Qt
A poster (troll?) writes that few medical device companies use Qt. That is simply incorrect. I know developers at 4 medical device companies of which 3 use Qt: Qt 5, Qt 6, and don't know if the 3rd transitioned to Qt 6 yet. Look at job postings. A "Qt" search on indeed.com for job postings in Newport Beach, CA showed 3 of the first 10 postings are at medical device companies: Massimo, Johnson & Johnson, and Nihon Kohden are medical device companies that are hiring Qt developers. Lack of interest in Qt by medical device companies is misinformation. I apologize for not contributing to the technical tone of this list. ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] Qt5 font size issue with fontconfig
If targeting an embedded device you know the DPI and can use it to set pixelSize and width/height like so: Text { pixelSize: 24*UI.pt } Rectangle { width: 12*UI.cm; height: 6*UI.cm } Example: https://github.com/pixelgrease/Qt-logical-units From: Ramakanth Kesireddy > To: Marc Van Daele > Cc: Qt Interest > Bcc: > Date: Fri, 6 Nov 2020 18:30:15 +0530 > Subject: Re: [Interest] Qt5 font size issue with fontconfig > Nope this didn't help. If setting pointsize appropriately for current > display 141 dpi would help to scale for other displays of different screen > sizes in future? > > Is there any formula to calculate the font size in point size based on dpi > display which would work for all display sizes or just setting point size > would help? > > Best Regards, > Ramakanth > ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] copying the object in the delegate
The row index changes few times in comparison to the number of times data is called. Reduce the number of times your code instances a new object by caching the object and creating a new one only when the row index changes. Something like: QVariant data(const QModelIndex , int role) override { static int lastRow = -1; static QScopedPoint lastObj; if (lastObj.isNull() || index.row() != lastRow) { lastRow = index.row(); lastObj.reset(createDataForRow(lastRow); } /Stan ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest
Re: [Interest] [External] Interface with signals and slots (Jérôme Godbout)
Re: [External] Interface with signals and slots (Jérôme Godbout) Your sample code declares an abstract IMyInterface rather than a class interface; there are concrete method declarations. If you make them pure virtual methods, your code compiles. You must implement the interface functions in the subclass... that's just the way it is. You can inherit multiple interfaces by implementing the getter/setters in the subclass. Here are code changes that work: class IMyInterface { public: explicit IMyInterface() {}; virtual ~IMyInterface() {}; virtual bool val() const = 0; virtual void setVal(const bool v) = 0; signals: virtual void valChanged() const = 0; }; class MyClass : public QObject, public IMyInterface { Q_OBJECT Q_PROPERTY(bool val READ val WRITE setVal NOTIFY valChanged) Q_INTERFACES(IMyInterface) public: MyClass() : m_val() {} bool val() const override { return m_val; } void setVal(const bool v) override { if (v != m_val) { m_val = v; emit valChanged(); } } signals: virtual void valChanged() const override; private: bool m_val; }; - Stan ___ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest