From Kitsune.Ral at protonmail.ch Sun Jan 1 12:06:09 2017 From: Kitsune.Ral at protonmail.ch (Kitsune Ral) Date: Sun, 01 Jan 2017 06:06:09 -0500 Subject: [Interest] QScopedPointer and c++11 move semantics In-Reply-To: <5599105.LnnjiaG2rL@tjmaciei-mobl1> References: <509a3a3c-623c-02eb-d6cd-5b0c013650f8@gmail.com> <5599105.LnnjiaG2rL@tjmaciei-mobl1> Message-ID: I think the code I gave is C++17 because of http://en.cppreference.com/w/cpp/language/class_template_deduction -- Kitsune Ral -------- Original Message -------- Subject: Re: [Interest] QScopedPointer and c++11 move semantics Local Time: 31-an de decembro, 2016 8:49 P.T.M. UTC Time: 31-an de decembro, 2016 11:49 From: thiago.macieira at intel.com To: interest at qt-project.org Em sexta-feira, 30 de dezembro de 2016, às 22:41:14 BRST, Kitsune Ral via Interest escreveu: > The most concise, I guess, is: > static const auto laterDeleter = std::mem_fn(&QObject::deleteLater); > std::unique_ptr a(nullptr, laterDeleter); > > In C++17, if I don't mistake, you won't ned explicit type specifier in the > template, so it shortens to: std::unique_ptr a(nullptr, > std::mem_fn(&QObject::deleteLater)); I don't think that's plain C++17, that's actually the Concepts TS. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From petar.koretic at gmail.com Sun Jan 1 23:33:26 2017 From: petar.koretic at gmail.com (=?UTF-8?Q?Petar_Koreti=C4=87?=) Date: Sun, 1 Jan 2017 23:33:26 +0100 Subject: [Interest] QFuture, QAsync? Coroutines, Generators, Promises, Futures... In-Reply-To: References: Message-ID: On Sat, Dec 31, 2016 at 2:40 PM, Vlad Stelmahovsky < vladstelmahovsky at gmail.com> wrote: > > All this discussion sounds like a bad joke: lets bring worse solutions > from worse environment, where the solution reinvented the wheel to hide > solution's poor design workaround > If you are not satisfied with current's Qt proposals (QThread, > QThreadPool, QConcurrent, QFuture, QEventLoop etc), probably you did wrong > platform choose for your mindset > Please don't. No use in hindering discussions with useless comments. This kind of comments were once against modules in C++. Now look what that brought up. This is what is coming in C++, language that you probably write if you use Qt http://en.cppreference.com/w/cpp/experimental It's important to see what Qt is doing, Wrapping blocking api in a thread is not the same as using api that is non blocking in the first place. It may end up being the same but it is definitely not by default. Hence the difference between QNetworkRequest (nonblocking API) and QSqlDatabase (blocking API). br > Vlad > > On Sat, Dec 31, 2016 at 2:10 PM, Ben Lau wrote: > >> >> >> On 28 December 2016 at 16:36, Petar Koretić >> wrote: >> >>> >>> >>> On Wed, Dec 28, 2016 at 4:51 AM, Ben Lau wrote: >>> >>>> >>>> >>>> On 28 December 2016 at 05:50, Petar Koretić >>>> wrote: >>>> >>>>> Hi all! >>>>> >>>>> In the wild people are doing all kinds of different things with Qt on >>>>> the network side. And there are some obvious issues with that given the >>>>> "callback" nature of Qt networking code. >>>>> >>>>> One can see different examples of people over the years dealing with >>>>> that: >>>>> >>>>> http://cukic.co/2016/01/17/asynqt-framework-making-qfuture-useful >>>>> https://github.com/KDE/kasync >>>>> http://qasync.henrikhedberg.com >>>>> https://github.com/mhogomchungu/tasks >>>>> https://gist.github.com/legnaleurc/1038309 >>>>> >>>>> Since we are also using Qt a lot on the server side I'm curious what >>>>> is the progress from the Qt side on that given that coroutines will come to >>>>> C++ (http://en.cppreference.com/w/cpp/experimental) >>>>> >>>>> We were using Boost and as we were using Qt for clients decided we >>>>> could also do server parts in Qt as well. This is all fine and I enjoyed >>>>> it, but boost has futures, promises and coroutines as well, which is nice, >>>>> since we also have backends in Node.js where we employ identical patterns. >>>>> >>>>> So I've been waiting for 2 years now to see what will come up from Qt >>>>> and I don't see much about that changing. Heck, QAsync tackled this in 2011. >>>>> Will Qt "embrace" coroutines from standard? Will they come up with >>>>> something of their own? Should we abandon Qt for networking? Should we use >>>>> something of our own? >>>>> >>>>> One possible way currently is to use QtConcurrent (badly I guess) and >>>>> wrap everything into QtConcurrent::run, which, for example, for >>>>> QNetworkRequest means first converting it to sync code using local event >>>>> loop which is again not recommended. >>>>> >>>>> >>>> Why you think it is not recommended? >>>> >>>> >>> This was once on http://developer.nokia.com/com >>> munity/wiki/How_to_wait_synchronously_for_a_Signal_in_Qt >>> Local QEventloop may cause out of control recursion or deadlocks in some >>> cases. Whenever I had idea to use it, nobody recommended it. Quick google >>> search now will tell you the same. >>> >>> Nevertheless, for example, QNetworkRequest is explicitly asynchronous >>> while QSqlDatabase is explicitly synchronous. I'm just expecting that >>> somebody is doing the same these days with Qt and want to improve on that >>> given that C++ itself will get "async" support so I want to avoid any >>> duplication from my side. I'm not talking about something new, just asking >>> if there are any plans in that direction. >>> >>> >>>> >>>>> >> >> I think a topic is not well discussed do not mean it is not recommended. >> I am using QtConcurrent for handling asynchronous task. So far I have >> encountered deadlock issue only once. It happen when the application quit >> but the task is not finished yet. >> >> Coroutine should be a good solution for many problems. I may switch to >> coroutine if the task is not CPU intensive. But unfortunately that it is >> not available in Qt yet. So user need an alternative solution. It can't >> just wait for new version of Qt. QtConcurrent may not be a bad choice. It >> should be worth to discuss. >> >> I am not sure is any Qt developer working on coroutine yet. I think it is >> better to ask in developer mailing list. >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > > > -- > Best regards, > Vlad > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gourmand at inbox.ru Mon Jan 2 11:55:43 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Mon, 02 Jan 2017 13:55:43 +0300 Subject: [Interest] =?utf-8?q?_QtDesigner_needs_redesign=2E?= Message-ID: <1483354543.492862223@f432.i.mail.ru> I used QtCreator with older Qt versions. Now I use QtCreator 4.0.1 with Qt5.6.1 but I cannot see major difference between it's QtDesigner and old one. Through years Designer remains the same with ugly functionality, glitches and terrible limitations. You added new connection in editor? You will not see it, it is somewhere on top or bottom, you must yet scroll to it. You need set type of signal/slot connection? NO, it is not possible. You created plugin to use in Designer? You will restart QtCreator after each compilation. And you will not have any debugging features while testing plugin in Designer. And others, others, others "no, it is not possible" or "made at 90th" features. Is there anybody now creating NEW QtDesigner? Are there at least plans for it? WHEN???!! -- Serge K -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Jan 2 13:02:12 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 02 Jan 2017 13:02:12 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? Message-ID: <1608959.cXNNtQncYQ@portia.local> Hi, I must be overlooking or even forgetting something: is there a way to initialise a QMap or QHash instance with a static table, say when you're creating a fast lookup dictionary mapping enums or preprocessor tokens to a QString? That's information known a compile time so I was expecting to be able to avoid adding each mapping explicitly with a sequence of map[token] = "token"; statements. If that's indeed possible, the documentation doesn't really showcase it. Thanks, R. From Shawn.Rutledge at qt.io Mon Jan 2 13:36:10 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Mon, 2 Jan 2017 12:36:10 +0000 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <1608959.cXNNtQncYQ@portia.local> References: <1608959.cXNNtQncYQ@portia.local> Message-ID: <91512496-1FA0-4983-8FA7-990FFD726547@qt.io> > On 2 Jan 2017, at 13:02, René J.V. Bertin wrote: > > Hi, > > I must be overlooking or even forgetting something: is there a way to initialise a QMap or QHash instance with a static table, say when you're creating a fast lookup dictionary mapping enums or preprocessor tokens to a QString? > > That's information known a compile time so I was expecting to be able to avoid adding each mapping explicitly with a sequence of > > map[token] = "token"; > > statements. If that's indeed possible, the documentation doesn't really showcase it. It has operator<< and operator>> so I guess you could load it from a file. It’s an interesting point though, if you have a fixed set of data then you could use a perfect hash and a perfect number of buckets. There’s undoubtedly some other library which can do that. I googled and found stuff like https://news.ycombinator.com/item?id=10745194 and http://stevehanov.ca/blog/index.php?id=119 which have more links to things like cmph and gperf. But for tokenizing, maybe just use lex/flex? From kshegunov at gmail.com Mon Jan 2 13:36:03 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 14:36:03 +0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <1608959.cXNNtQncYQ@portia.local> References: <1608959.cXNNtQncYQ@portia.local> Message-ID: Do you mean something like this? enum MyEnum { Enum1, Enum2 }; static struct _hashInit { _hashInit() { MyEnum myEnumTable[] = { Enum1, Enum2 }; QString myStringTable[] = { QStringLiteral("Enum1"), QStringLiteral("Enum2") }; qint32 size = sizeof(myEnumTable) / sizeof(MyEnum); myHash.reserve(size); for (qint32 i = 0; i < size; i++) myHash.insert(myStringTable[i], myEnumTable[i]); } QHash myHash; } _hashInitializer; It isn't exactly pretty but should work okay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Mon Jan 2 14:16:28 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 02 Jan 2017 11:16:28 -0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <91512496-1FA0-4983-8FA7-990FFD726547@qt.io> References: <1608959.cXNNtQncYQ@portia.local> <91512496-1FA0-4983-8FA7-990FFD726547@qt.io> Message-ID: <5204925.vqcdAxygsL@tjmaciei-mobl1> On segunda-feira, 2 de janeiro de 2017 12:36:10 BRST Shawn Rutledge wrote: > It’s an interesting point though, if you have a fixed set of data then you > could use a perfect hash and a perfect number of buckets. There’s > undoubtedly some other library which can do that. It's called gperf. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Mon Jan 2 14:15:43 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 02 Jan 2017 11:15:43 -0200 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <1483354543.492862223@f432.i.mail.ru> References: <1483354543.492862223@f432.i.mail.ru> Message-ID: <1662067.dKGuqbcK4k@tjmaciei-mobl1> On segunda-feira, 2 de janeiro de 2017 13:55:43 BRST Serge K via Interest wrote: > Is there anybody now creating NEW QtDesigner? Are there at least plans for > it? WHEN???!! No, no one is working on that, as far as I know. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Mon Jan 2 14:18:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 02 Jan 2017 11:18:52 -0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <1608959.cXNNtQncYQ@portia.local> References: <1608959.cXNNtQncYQ@portia.local> Message-ID: <4736845.OpQcXLLc9n@tjmaciei-mobl1> On segunda-feira, 2 de janeiro de 2017 13:02:12 BRST René J.V. Bertin wrote: > Hi, > > I must be overlooking or even forgetting something: is there a way to > initialise a QMap or QHash instance with a static table, say when you're > creating a fast lookup dictionary mapping enums or preprocessor tokens to a > QString? > > That's information known a compile time so I was expecting to be able to > avoid adding each mapping explicitly with a sequence of > > map[token] = "token"; > > statements. If that's indeed possible, the documentation doesn't really > showcase it. The closest thing you have is the std::initializer_list constructor: static const QHash data = { { Value1, "Value1" }, { Value2, "Value2" } }; Note that all of this is constructed at *load* time, not at compile time and not on first use. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From Shawn.Rutledge at qt.io Mon Jan 2 14:40:51 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Mon, 2 Jan 2017 13:40:51 +0000 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <1662067.dKGuqbcK4k@tjmaciei-mobl1> References: <1483354543.492862223@f432.i.mail.ru> <1662067.dKGuqbcK4k@tjmaciei-mobl1> Message-ID: > On 2 Jan 2017, at 14:15, Thiago Macieira wrote: > > On segunda-feira, 2 de janeiro de 2017 13:55:43 BRST Serge K via Interest > wrote: >> Is there anybody now creating NEW QtDesigner? Are there at least plans for >> it? WHEN???!! > > No, no one is working on that, as far as I know. I used it extensively in previous jobs, and my experience then was that it worked well enough to use, and boosts productivity a lot compared to writing all the widget-construction code by hand. It got even better with the Creator integration. If there are some bugs and usability problems, they could be fixed, so I don’t see a need for a rewrite of the same functionality. But the Qt Company has not been focused on widget issues for several years now, because of QtQuick. So, the new designer is effectively the QtQuick designer. But if anyone feels like fixing any annoying usability issues in the old designer, patches are welcome. From rjvbertin at gmail.com Mon Jan 2 15:02:13 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 02 Jan 2017 15:02:13 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: References: <1608959.cXNNtQncYQ@portia.local> Message-ID: <1821219.KLzTuRYOmF@bola> On Monday January 2 2017 14:36:03 Konstantin Shegunov wrote: >Do you mean something like this? >It isn't exactly pretty but should work okay. Yes and no. Behind the scenes the code would of course look much like that, but in user code I was thinking along the lines of QMap dict = { {Enum1, QStringLiteral("Enum1")}, {Enum2, QStringLiteral("Enum2")} }; I considered what you suggested, of course. Writing such a generic interface makes sense if you can reuse it sufficiently often (or if you have really many entries to add), but rarely if you have just a few small dicts to create here and there. R From kshegunov at gmail.com Mon Jan 2 15:05:43 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 16:05:43 +0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <1821219.KLzTuRYOmF@bola> References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> Message-ID: On Mon, Jan 2, 2017 at 4:02 PM, René J.V. Bertin wrote: > > Yes and no. Behind the scenes the code would of course look much like > that, but in user code I was thinking along the lines of > [snippet] > That's easily achieved by a rather trivial inline function returning a reference to the hash (and all the ugly code is then hidden). I considered what you suggested, of course. Writing such a generic > interface makes sense if you can reuse it sufficiently often (or if you > have really many entries to add), but rarely if you have just a few small > dicts to create here and there. > Then I'd vote for Thiago's solution. The only drawback with it is that it requires C++11 support, but that should be available pretty much anywhere nowadays. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Mon Jan 2 15:14:19 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 16:14:19 +0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <1821219.KLzTuRYOmF@bola> References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> Message-ID: On Mon, Jan 2, 2017 at 4:02 PM, René J.V. Bertin wrote: > > QMap dict = { {Enum1, QStringLiteral("Enum1")}, {Enum2, > QStringLiteral("Enum2")} }; > As a side note, if your enums are sequential and starting from 0, as most are, my advice is not to use QMap (a static array should serve you perfectly fine). It would mean the binary tree to be degenerate, and ultimately you'd get a rebalancing with each insert. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Jan 2 15:15:11 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Mon, 02 Jan 2017 15:15:11 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? References: <1608959.cXNNtQncYQ@portia.local> <4736845.OpQcXLLc9n@tjmaciei-mobl1> Message-ID: <9788700.MlOxWARrlc@patux.local> Thiago Macieira wrote: Oops, I didn't see all replies before answering to Konstantin.. > The closest thing you have is the std::initializer_list constructor: > > static const QHash data = { > { Value1, "Value1" }, > { Value2, "Value2" } > }; That's exactly what I was thinking about, and expecting to see among the examples in the QHash or QMap documentation. > Note that all of this is constructed at *load* time, not at compile time and > not on first use. so it doesn't work like a classical static variable which is initialised only once, presuming you meant to say "not on first use *only*"? Not really an issue if the QHash or QMap instance can be a class member variable and initialised in the ctor. > It’s an interesting point though, if you have a fixed set of data then you could use a perfect hash and a perfect number of buckets. You already have a perfect hash in the case of a set of unique keys, like an enum, no? I've never used gperf, wouldn't that be more appropriate for (really) large key/value sets? R. From rjvbertin at gmail.com Mon Jan 2 15:18:48 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Mon, 02 Jan 2017 15:18:48 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> Message-ID: <2802362.FmZd6SLWCx@patux.local> Konstantin Shegunov wrote: > Then I'd vote for Thiago's solution. The only drawback with it is that it > requires C++11 support, but that should be available pretty much anywhere > nowadays. Still quite a sizeable population of users of older Mac OS X versions out there, who don't have proper C++11 support unless they do a libc++ conversion hack. And even then I'm not 100% sure that initialiser lists are available and/or work reliably. R. From kshegunov at gmail.com Mon Jan 2 15:20:16 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 16:20:16 +0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <9788700.MlOxWARrlc@patux.local> References: <1608959.cXNNtQncYQ@portia.local> <4736845.OpQcXLLc9n@tjmaciei-mobl1> <9788700.MlOxWARrlc@patux.local> Message-ID: On Mon, Jan 2, 2017 at 4:15 PM, René J. V. Bertin wrote: > > > Note that all of this is constructed at *load* time, not at compile time > and > > not on first use. > > so it doesn't work like a classical static variable which is initialised > only > once, presuming you meant to say "not on first use *only*"? > It works exactly as a classic static variable with *nontrivial* initialization. It's initialized only once before entering main(). This is in contrast with (e.g. heap allocated objects) that can be initialized only and if used - "on first use". > You already have a perfect hash in the case of a set of unique keys, like > an > enum, no? > Depends on the hashing function, but in the general case, no you don't. Kind regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Jan 2 15:27:38 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Mon, 02 Jan 2017 15:27:38 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> Message-ID: <2990526.v1mtQJ9eSW@patux.local> Konstantin Shegunov wrote: > (a static array should serve you perfectly fine). Yes, true. Presuming the enum values assigned by the compiler and thus 0-based and incremented by 1. > It would mean the binary tree to be degenerate, and > ultimately you'd get a rebalancing with each insert. I didn't read the algorithmic complexity section and wasn't encumbered with a particular amount of relevant background on the container classes either. Thus, the claim that "With QMap, the items are always sorted by key" made it seem somewhat more appropriate for a case where you get the keys in sorted order simply by copy/paste. R. From kshegunov at gmail.com Mon Jan 2 15:37:50 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 16:37:50 +0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <2990526.v1mtQJ9eSW@patux.local> References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> <2990526.v1mtQJ9eSW@patux.local> Message-ID: On Mon, Jan 2, 2017 at 4:27 PM, René J. V. Bertin wrote: > Still quite a sizeable population of users of older Mac OS X versions out > there, > who don't have proper C++11 support unless they do a libc++ conversion > hack. And > even then I'm not 100% sure that initialiser lists are available and/or > work > reliably. Well, I don't work on mac, but if you need to stick to C++03 then your options are rather limited (similar to the one in my first mail). > Yes, true. Presuming the enum values assigned by the compiler and thus > 0-based > and incremented by 1. > Yes, I was referring to this exact use case. I didn't read the algorithmic complexity section and wasn't encumbered with > a > particular amount of relevant background on the container classes either. > Thus, > the claim that "With QMap, the items are always sorted by key" made it seem > somewhat more appropriate for a case where you get the keys in sorted order > simply by copy/paste. > The remark is relevant for "larger" sets of data. For micro maps it probably doesn't matter. Anyway, QMap is a balanced binary tree, so inserting items sorted by key sequentially would cause it to rebalance itself (i.e. insertion is with log(n) worst complexity). -------------- next part -------------- An HTML attachment was scrubbed... URL: From rleigh at codelibre.net Mon Jan 2 15:42:10 2017 From: rleigh at codelibre.net (Roger Leigh) Date: Mon, 2 Jan 2017 14:42:10 +0000 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <2802362.FmZd6SLWCx@patux.local> References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> <2802362.FmZd6SLWCx@patux.local> Message-ID: On 02/01/2017 14:18, René J. V. Bertin wrote: > Konstantin Shegunov wrote: > >> Then I'd vote for Thiago's solution. The only drawback with it is that it >> requires C++11 support, but that should be available pretty much anywhere >> nowadays. > > Still quite a sizeable population of users of older Mac OS X versions out there, > who don't have proper C++11 support unless they do a libc++ conversion hack. And > even then I'm not 100% sure that initialiser lists are available and/or work > reliably. Which versions are you referring to, specifically? Only versions 10.10-10.12 have security support, 10.9 appears ended now?, and so for the organisation I work for we use that as the cutoff for our support as well. All these versions support C++11 with the supported xcode for the release. There are practical limits to how far back one can support MacOS X, no thanks to Apple's virtualisation restrications and the pain of administering stuff which is not intended to be or good at being run headless or virtually. We take the line of if Apple don't support it then neither do we; three versions is plenty enough of a support and testing burden as it is. Regards, Roger From rjvbertin at gmail.com Mon Jan 2 15:47:40 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 02 Jan 2017 15:47:40 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: References: <1608959.cXNNtQncYQ@portia.local> <2990526.v1mtQJ9eSW@patux.local> Message-ID: <3122360.HYWtOpcL4A@portia.local> On Monday January 02 2017 16:37:50 Konstantin Shegunov wrote: > The remark is relevant for "larger" sets of data. For micro maps it > probably doesn't matter. That seemed (and seems) evident. > Anyway, QMap is a balanced binary tree, so > inserting items sorted by key sequentially would cause it to rebalance > itself (i.e. insertion is with log(n) worst complexity). And that seems surprising, one could expect it to be more efficient to add items sequentially to a list that would maintain a sequential order anyway. But I'll take your word for it, I'm not a computer scientist by any kind of formal training :) Cheers, R. From kshegunov at gmail.com Mon Jan 2 15:50:12 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 16:50:12 +0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <3122360.HYWtOpcL4A@portia.local> References: <1608959.cXNNtQncYQ@portia.local> <2990526.v1mtQJ9eSW@patux.local> <3122360.HYWtOpcL4A@portia.local> Message-ID: On Mon, Jan 2, 2017 at 4:47 PM, René J.V. Bertin wrote: > > And that seems surprising, one could expect it to be more efficient to add > items sequentially to a list that would maintain a sequential order anyway. > But I'll take your word for it, I'm not a computer scientist by any kind of > formal training :) > Me neither, I'm a lowly physicist. ;) I assume the choice of underlying data structure was made so even in the worst case scenario the complexity is logarithmic, in contrast with QHash where the worst case scenario gives you a whooping linear complexity on insertion. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Mon Jan 2 16:09:50 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 02 Jan 2017 13:09:50 -0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <9788700.MlOxWARrlc@patux.local> References: <1608959.cXNNtQncYQ@portia.local> <4736845.OpQcXLLc9n@tjmaciei-mobl1> <9788700.MlOxWARrlc@patux.local> Message-ID: <5472639.6nGsDZRRSV@tjmaciei-mobl1> On segunda-feira, 2 de janeiro de 2017 15:15:11 BRST René J. V. Bertin wrote: > Thiago Macieira wrote: > > Oops, I didn't see all replies before answering to Konstantin.. > > > The closest thing you have is the std::initializer_list constructor: > > > > static const QHash data = { > > { Value1, "Value1" }, > > { Value2, "Value2" } > > }; > > That's exactly what I was thinking about, and expecting to see among the > examples in the QHash or QMap documentation. > > > Note that all of this is constructed at *load* time, not at compile time > > and not on first use. > > so it doesn't work like a classical static variable which is initialised > only once, presuming you meant to say "not on first use *only*"? It is initialised once, at load time of the program. That means there's code that gets run before main(), whether you will use this or not. That's different from initialising on first use, in which case you know that you will use it, though the first use has a slight performance penalty. And that's different from compile-time initialisation (fully static data), in which there's no dynamic initialisation at all. QHash and QMap don't support that. That's what generators like gperf are for. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Mon Jan 2 16:07:00 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 02 Jan 2017 13:07:00 -0200 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <2802362.FmZd6SLWCx@patux.local> References: <1608959.cXNNtQncYQ@portia.local> <2802362.FmZd6SLWCx@patux.local> Message-ID: <2032941.p23Qplfiod@tjmaciei-mobl1> On segunda-feira, 2 de janeiro de 2017 15:18:48 BRST René J. V. Bertin wrote: > Konstantin Shegunov wrote: > > Then I'd vote for Thiago's solution. The only drawback with it is that it > > requires C++11 support, but that should be available pretty much anywhere > > nowadays. > > Still quite a sizeable population of users of older Mac OS X versions out > there, who don't have proper C++11 support unless they do a libc++ > conversion hack. And even then I'm not 100% sure that initialiser lists are > available and/or work reliably. Qt 5.7 and up requires C++11, including initialiser lists. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From rjvbertin at gmail.com Mon Jan 2 17:45:27 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 02 Jan 2017 17:45:27 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: References: <1608959.cXNNtQncYQ@portia.local> <3122360.HYWtOpcL4A@portia.local> Message-ID: <7473227.XhyE7e2Dxs@portia.local> On Monday January 02 2017 16:50:12 Konstantin Shegunov wrote: > I assume the choice of underlying data structure was made so even in the > worst case scenario the complexity is logarithmic, in contrast with QHash What, you mean that inserting 0 items will finish at an infinitely long ago moment? ;) From viktor.engelmann at qt.io Mon Jan 2 17:54:48 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Mon, 2 Jan 2017 17:54:48 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <7473227.XhyE7e2Dxs@portia.local> References: <1608959.cXNNtQncYQ@portia.local> <3122360.HYWtOpcL4A@portia.local> <7473227.XhyE7e2Dxs@portia.local> Message-ID: <1b349f2a-b062-e070-8732-4af1f125699c@qt.io> actually yes... you can insert 0 elements even repeatedly (finitely often). At no *finitely long ago* moment you had to wait for this to finish... Am 02.01.2017 um 17:45 schrieb René J.V. Bertin: > On Monday January 02 2017 16:50:12 Konstantin Shegunov wrote: > >> I assume the choice of underlying data structure was made so even in the >> worst case scenario the complexity is logarithmic, in contrast with QHash > What, you mean that inserting 0 items will finish at an infinitely long ago moment? ;) > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 144331 B From annulen at yandex.ru Mon Jan 2 18:09:01 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Mon, 02 Jan 2017 20:09:01 +0300 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <5204925.vqcdAxygsL@tjmaciei-mobl1> References: <1608959.cXNNtQncYQ@portia.local> <91512496-1FA0-4983-8FA7-990FFD726547@qt.io> <5204925.vqcdAxygsL@tjmaciei-mobl1> Message-ID: <1881121483376941@web36j.yandex.ru> 02.01.2017, 16:16, "Thiago Macieira" : > On segunda-feira, 2 de janeiro de 2017 12:36:10 BRST Shawn Rutledge wrote: >>  It’s an interesting point though, if you have a fixed set of data then you >>  could use a perfect hash and a perfect number of buckets. There’s >>  undoubtedly some other library which can do that. > > It's called gperf. I would recommend using re2c instead. 1. It integrates with source code nicely. You just write comment in re2c language right inside your C++ or C code and it is replaced by generated code. No need to have separate gperf input file for each lookup table, containing mix of C++ and gperf configuration which is not IDE-friendly. 2. If you are writing tokenizer, gperf requires you to extract word from input text before you can match it against table, while with re2c you can match tokens on the fly while you are scanning text > > -- > Thiago Macieira - thiago.macieira (AT) intel.com >   Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From kshegunov at gmail.com Mon Jan 2 20:20:31 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Mon, 2 Jan 2017 19:20:31 +0000 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <7473227.XhyE7e2Dxs@portia.local> References: <1608959.cXNNtQncYQ@portia.local> <3122360.HYWtOpcL4A@portia.local> <7473227.XhyE7e2Dxs@portia.local> Message-ID: On Mon, Jan 2, 2017 at 4:45 PM, René J.V. Bertin wrote: > > What, you mean that inserting 0 items will finish at an infinitely long > ago moment? ;) > Oh, I've never thought about it, but sounds legit. :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Jan 2 22:46:08 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 02 Jan 2017 22:46:08 +0100 Subject: [Interest] 2017 Message-ID: <6024720.WQBj4qu2Fe@portia.local> Best wishes for 2017! Accompanied by a "postcard" from the realm of the impossible, just because I'm quite auto-satisfied with the result: a KDE's KDevelop 5.3 and Konsole 16.12 running with Qt 5.7.1 and the XCB QPA on Mac OS X 10.9 (and the application style dialog running with the Cocoa QPA). Not officially supported, but with a few minor patches it just works. https://trac.macports.org/attachment/wiki/KDEProblems/KF5-Mac.png R. From rjvbertin at gmail.com Mon Jan 2 23:18:53 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Mon, 02 Jan 2017 23:18:53 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? References: <1608959.cXNNtQncYQ@portia.local> <1821219.KLzTuRYOmF@bola> <2802362.FmZd6SLWCx@patux.local> Message-ID: <14146649.zl5U0K0vo3@portia.local> Roger Leigh wrote: > Which versions are you referring to, specifically? I am not sure and haven't yet had the time to see if I can figure out under what circumstances I had to work around lack of initialiser list support. It's possible this was on 10.6 but it's also possible it was in Qt4-based code and it was simply related to how the preprocessor token was defined. Either way, it's not relevant for what I'm doing. > Only versions 10.10-10.12 have security support, 10.9 appears ended > now? Not sure about that. > headless or virtually. We take the line of if Apple don't support it > then neither do we; three versions is plenty enough of a support and > testing burden as it is. Well, I won't blame you for that though I'd love not to have to upgrade from 10.9 anytime soon. It took me months to get 10.9 work according to my taste coming from 10.6, I'm not at all looking at repeating that as long most things still work without having to spend through too many hoops. R. From rjvbertin at gmail.com Mon Jan 2 23:25:52 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Mon, 02 Jan 2017 23:25:52 +0100 Subject: [Interest] initialising a dictionary-type container instance with a static table? References: <1608959.cXNNtQncYQ@portia.local> <2802362.FmZd6SLWCx@patux.local> <2032941.p23Qplfiod@tjmaciei-mobl1> Message-ID: <7116665.vUsRmqUo9f@portia.local> Thiago Macieira wrote: > Qt 5.7 and up requires C++11, including initialiser lists. FWIW: I understand that should be available even on OS X 10.7 when you install a recent libc++ and clang compiler. Not for the faint of heart, and it won't compensate for any missing ObjC features. From Shawn.Rutledge at qt.io Tue Jan 3 09:55:13 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Tue, 3 Jan 2017 08:55:13 +0000 Subject: [Interest] 2017 In-Reply-To: <6024720.WQBj4qu2Fe@portia.local> References: <6024720.WQBj4qu2Fe@portia.local> Message-ID: > On 2 Jan 2017, at 22:46, René J.V. Bertin wrote: > > Best wishes for 2017! > > Accompanied by a "postcard" from the realm of the impossible, just because I'm quite auto-satisfied with the result: a KDE's KDevelop 5.3 and Konsole 16.12 running with Qt 5.7.1 and the XCB QPA on Mac OS X 10.9 (and the application style dialog running with the Cocoa QPA). Not officially supported, but with a few minor patches it just works. > > https://trac.macports.org/attachment/wiki/KDEProblems/KF5-Mac.png Cool! Are there obstacles to getting it working without the X server? From W.Bublitz at KROHNE.com Tue Jan 3 10:21:55 2017 From: W.Bublitz at KROHNE.com (Bublitz, Wolf) Date: Tue, 3 Jan 2017 09:21:55 +0000 Subject: [Interest] Again trouble with SCXML donedata Message-ID: <374E7A6623F6034194AB393BC2A7171F01078F38C6@KRD3EXCHANGE.KROHNEGROUP.com> Hallo, at the end of last year I have already ask for some help concerning the SCXML donedata event (was not emitted) with the former SCXML preview module of Qt 5.7. Noch I have updated to Qt 5.8 RC but I am still facing the same problem. I have the following final state in my state machine: On QML side the donedata event is catched like this: EventConnection { stateMachine: p.stateMachine events: ["done.state.Leave"] onOccurred: { console.log("done: " + event.name + " [" + event.data + "]") } } According to the log message the state "Leave" is reached, but the done.state.Leave event is not triggered. What is wrong here? Many Thanks in advance for your help! Wolf Bublitz KROHNE Innovation GmbH Ludwig-Krohne-Str. 5, 47058 Duisburg, Germany, Tel.: +49 (0) 203 301 0, Fax : +49 (0) 203 301 10 389, www.krohne.com Sitz der Gesellschaft: Duisburg HRB 9313 Geschaeftsfuehrer: Dr. Attila Bilgic, Ingo Wald HINWEIS Diese E-Mail kann vertrauliche Informationen beinhalten und ist ausschliesslich fuer die im Verteiler genannten Personen bestimmt. Wenn Sie nichtim Verteiler genannt sind, lesen oder verbreiten Sie diese Informationen NICHT; loeschen Sie bitte diese E-Mail. Unsere ausgehenden E-Mailseinschliesslich deren Anlagen werden mit aktuellen Virenscannern geprueft, wir uebernehmen aber keinerlei Garantie dafuer, dass diese E-Mailvirenfrei ist. Weiterhin uebernimmt die KROHNE Innovation GmbH keinerlei Verantwortung fuer einen evtl. Schaden oder Verlust, der sich aus dem Erhaltdieser Nachricht ergibt. Falls nicht ausdruecklich vermerkt, ist diese E-Mail keine gesetzlich bindende Vereinbarung. NOTE The information transmitted in this email is for the person or entity to which it is addressed: it may contain information that is confidentialand/or legally privileged. If you are not the intended recipient, please do not read, use, retransmit or disseminate this information.Although this email and any attachments are believed to be free of any virus, it is the responsibility of the recipient to ensure that they are virus free.No responsibility is accepted by the KROHNE Innovation Company for any loss or damage arising from receipt of this message. Furthermore, unless explicitly stated,this email is in no way a legally binding agreement. The views represented in this email do not necessarily represent those of the corporation. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Tue Jan 3 10:37:56 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Tue, 03 Jan 2017 10:37:56 +0100 Subject: [Interest] 2017 In-Reply-To: References: <6024720.WQBj4qu2Fe@portia.local> Message-ID: <61839559.b6D7phl6t5@bola> On Tuesday January 3 2017 08:55:13 Shawn Rutledge wrote: >Cool! Qool? ;) >Are there obstacles to getting it working without the X server? I'm not sure I understand what you mean? What I'm doing is the apparently really not supported approach: - build Qt5 as normal on Mac (though patched to include the qgenericunix* stuff) - build QtBase configured for XCB (and patched so it works); still using a frameworks build - install the xcb qpa plugin and its dependencies, as well as the QtX11Extras component - start applications with -platform xcb or using the corresponding env. variable. This means I do not have any of the X11 specific stuff in the QtBase component except for X11Extras, and dependent code can be built as usual. The QtCurve style for instance is built without any X11 specific code. It probably also answers your question: I don't need to have the X server running to use Qt5 apps, and everything also works as usual on Mac when I do have the X server running. Evidently I get the expected error when I try to use the xcb QPA and the X server is not running, though on a standard XQuartz set-up the X server would probably be started on-demand. BTW, I didn't show it, but with this kind of build the Macintosh application style is available also with the xcb QPA. I rarely use it, but it *is* cool :) There is only 1 real issue that I've seen until now: some OpenGL applications lock up on exit with an error message about not releasing a GL context. I don't know if that's a real problem though. Remote displaying doesn't always work as expected either because of XQuartz lacking some key functionality in that domain (both incoming and outgoing), but Qt apps aren't that suitable for remote execution anyway. That *was* a bit my motivation to start tinkering with the xcb QPA, but I've since discovered that it's very nice for local use, too. Esp. being able to run Konsole on all my desktops. As a side-note: I've been discussing Wayland on Mac with one of the XQuartz maintainers. He likes the idea, but there's no one working on it right now, and the Wayland libraries depend on a couple of functions that aren't available on Mac (signalfd(), timerfd()). R From kfunk at kde.org Tue Jan 3 10:51:19 2017 From: kfunk at kde.org (Kevin Funk) Date: Tue, 03 Jan 2017 10:51:19 +0100 Subject: [Interest] 2017 In-Reply-To: References: <6024720.WQBj4qu2Fe@portia.local> Message-ID: <2375274.iHoDHADsXF@kerberos> On Tuesday, 3 January 2017 08:55:13 CET Shawn Rutledge wrote: > > On 2 Jan 2017, at 22:46, René J.V. Bertin wrote: > > > > Best wishes for 2017! > > > > Accompanied by a "postcard" from the realm of the impossible, just because > > I'm quite auto-satisfied with the result: a KDE's KDevelop 5.3 and > > Konsole 16.12 running with Qt 5.7.1 and the XCB QPA on Mac OS X 10.9 (and > > the application style dialog running with the Cocoa QPA). Not officially > > supported, but with a few minor patches it just works. > > https://trac.macports.org/attachment/wiki/KDEProblems/KF5-Mac.png > > > Cool! > > Are there obstacles to getting it working without the X server? Let me chime in here: There are no obstacles to run it without the X dependency. Here is a screenshot of KDevelop on OS X using the native style (which probably feels a lot more 'natural' to OS X users): https://www.kdevelop.org/screenshots/kdevelop-5-beta-1-mac-os-x This is the version we (as in the KDevelop team) would like to support and plan to create packages for in the future. There's no official OS X release for KDevelop yet. Best wishes for 2017, indeed! Cheers, Kevin > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Kevin Funk | kfunk at kde.org | http://kfunk.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 163 bytes Desc: This is a digitally signed message part. URL: From Shawn.Rutledge at qt.io Tue Jan 3 11:12:50 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Tue, 3 Jan 2017 10:12:50 +0000 Subject: [Interest] 2017 In-Reply-To: <61839559.b6D7phl6t5@bola> References: <6024720.WQBj4qu2Fe@portia.local> <61839559.b6D7phl6t5@bola> Message-ID: <78CA6086-4409-4CB2-8C15-EA9FBE28EEC4@qt.io> > On 3 Jan 2017, at 10:37, René J.V. Bertin wrote: > > On Tuesday January 3 2017 08:55:13 Shawn Rutledge wrote: >> Are there obstacles to getting it working without the X server? > > I'm not sure I understand what you mean? Just not sure what you are trying to achieve and why… but you explained more below. > What I'm doing is the apparently really not supported approach: > > - build Qt5 as normal on Mac (though patched to include the qgenericunix* stuff) > - build QtBase configured for XCB (and patched so it works); still using a frameworks build > - install the xcb qpa plugin and its dependencies, as well as the QtX11Extras component > - start applications with -platform xcb or using the corresponding env. variable. > > This means I do not have any of the X11 specific stuff in the QtBase component except for X11Extras, and dependent code can be built as usual. The QtCurve style for instance is built without any X11 specific code. > > It probably also answers your question: I don't need to have the X server running to use Qt5 apps, and everything also works as usual on Mac when I do have the X server running. Evidently I get the expected error when I try to use the xcb QPA and the X server is not running, though on a standard XQuartz set-up the X server would probably be started on-demand. > BTW, I didn't show it, but with this kind of build the Macintosh application style is available also with the xcb QPA. I rarely use it, but it *is* cool :) > > There is only 1 real issue that I've seen until now: some OpenGL applications lock up on exit with an error message about not releasing a GL context. I don't know if that's a real problem though. Remote displaying doesn't always work as expected either because of XQuartz lacking some key functionality in that domain (both incoming and outgoing), but Qt apps aren't that suitable for remote execution anyway. That *was* a bit my motivation to start tinkering with the xcb QPA, but I've since discovered that it's very nice for local use, too. Esp. being able to run Konsole on all my desktops. Why doesn’t it run with just the cocoa plugin? Does middle-mouse-paste end up interoperating between plain X11 and Qt apps then? > As a side-note: I've been discussing Wayland on Mac with one of the XQuartz maintainers. He likes the idea, but there's no one working on it right now, and the Wayland libraries depend on a couple of functions that aren't available on Mac (signalfd(), timerfd()). Hmm, interesting. But I guess it makes less sense to composite an overlay desktop, as opposed to having application windows which use the Wayland QPA plugin simply showing up as regular windows, right? Especially if it eventually ends up providing another way of using applications remotely. From mathias.waack at rantzau.de Tue Jan 3 11:27:15 2017 From: mathias.waack at rantzau.de (Mathias Waack) Date: Tue, 3 Jan 2017 11:27:15 +0100 Subject: [Interest] SSO with kerberos/active directory Message-ID: We would like to add sso to an older Qt application. It is a client-server architecture, the clients running on both Linux and Windows, the server runs on Linux. The client is QWidget-based. We are running some sso-enabled web-apps in the same environment, but I cannot find the right link into Qt. Do you know of any doc/tutorial/howto for this topic? Maybe a pointer to an open source project offering this function would be helpful... Thanks Mathias From ulf.hermann at qt.io Tue Jan 3 12:23:01 2017 From: ulf.hermann at qt.io (Ulf Hermann) Date: Tue, 3 Jan 2017 12:23:01 +0100 Subject: [Interest] Again trouble with SCXML donedata In-Reply-To: <374E7A6623F6034194AB393BC2A7171F01078F38C6@KRD3EXCHANGE.KROHNEGROUP.com> References: <374E7A6623F6034194AB393BC2A7171F01078F38C6@KRD3EXCHANGE.KROHNEGROUP.com> Message-ID: <5919125f-add9-7437-5e79-4f64897ccc6e@qt.io> Hello, > [...] > > EventConnection { > > stateMachine: p.stateMachine > > events: ["done.state.Leave"] > > onOccurred: { > > console.log("done: " + event.name + " [" + event.data + "]") > > } > > } > > [...] > done.state.* events are internal. You can expose them using this snippet of scxml: It requires the ecmascript data model and knowledge of the possible parameters, though. Also, is sent with the done.state event of the parent state, not the done.state event for the itself. That is, you want to listen for done.state. here, not done.state.Leave. (I'm just realizing that the ftpclient example that comes with 5.8 is actually invalid scxml. If it wasn't, it would be a great example for how to forward events. So, don't look at it until it's fixed.) regards, Ulf From rjvbertin at gmail.com Tue Jan 3 12:45:44 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Tue, 03 Jan 2017 12:45:44 +0100 Subject: [Interest] 2017 In-Reply-To: <78CA6086-4409-4CB2-8C15-EA9FBE28EEC4@qt.io> References: <6024720.WQBj4qu2Fe@portia.local> <61839559.b6D7phl6t5@bola> <78CA6086-4409-4CB2-8C15-EA9FBE28EEC4@qt.io> Message-ID: <1711206.9IGhJl0bfy@portia.local> On Tuesday January 03 2017 10:12:50 Shawn Rutledge wrote: > > aren't that suitable for remote execution anyway. That *was* a bit my motivation to start tinkering with the xcb QPA, but I've since discovered that it's very nice for local use, too. Esp. being able to run Konsole on all my desktops. > > Why doesn’t it run with just the cocoa plugin? It does run, but it gets bitten somewhere by Qt's "circus" swapping the Ctrl and Meta ("Command") keys. At least I think that's what makes it missing most of the Control-Key combinations that are relevant for shells, like ^C and ^V. No, disabling the Ctrl/Meta swapping doesn't help here, and I haven't been able to figure out where in Qt things go wrong. It almost has to be in Qt because the Qt4/KDE4 Konsole application worked fine in this aspect, and there doesn't appear to be anything relevant that was changed in the Konsole code during the transition. > Does middle-mouse-paste end up interoperating between plain X11 and Qt apps then? That I cannot tell because I don't have a mouse with a middle button and I avoid using the XQuartz emulation. It also depends on how you set the auto-sync options between the various X11 clip and cut boards. From what I can tell though, copy/paste works fine with the menus and short-cuts between Qt (xcb or cocoa) and GTk apps as well as native applications. That's the most important for me, at the moment. > Hmm, interesting. But I guess it makes less sense to composite an overlay desktop, as opposed to having application windows which use the Wayland QPA plugin simply showing up as regular windows, right? Especially if it eventually ends up providing another way of using applications remotely. I haven't given that much thought, but yes, I think the idea would be to have a "rootless" Wayland compositor that displays windows alongside native windows, much like Xquartz can do. An important appeal to the XQuartz maintainer I spoke with is that it would make XQuartz obsolete because it could in principle be replaced by XWayland. Done right that should provide a more complete X11 implementation requiring less maintenance effort. As to remote use: I thought that wasn't the point of Wayland at all? On Tuesday January 03 2017 10:51:19 Kevin Funk wrote: > Here is a screenshot of KDevelop on OS X using the native style (which > probably feels a lot more 'natural' to OS X users): > https://www.kdevelop.org/screenshots/kdevelop-5-beta-1-mac-os-x I'm not so sure about the Breeze icons, they don't feel Mac-native at all to me. And that's with a still rather vivid memory of using System 4 and 5 on monochrome and grayscale displays in the late 80s and early 90s ;) I'd hope the main "deviant" look is caused by my choice of fonts (which I left in by choice as it's not something you can get easily with the stock platform theme plugin). The rest of the QtCurve theme is indeed more akin to the UI in pre-10.9 OS X versions, but I think it fits in perfectly and it's of course optional (and a lot more space-efficient than any other widget style). This is what KDevelop looks like when using the native macintosh application style in Cocoa mode: https://trac.macports.org/attachment/wiki/KDEProblems/KF5-Mac-Mac.png It's still using the adapted KDE platform plugin which makes it possible to map KDE's font roles to different font sizes so applications automatically stop using the same (big!) font size for most of the GUI if they don't explicitly specify smaller font sizes. This is on 10.9, so the system font is Lucida Grande. The platform theme also adds the XDG icon directory to the icon theme search path, and that makes icons appear in the native widget style dialog buttons because the code only checks if the buttons have an icon set or not, and render it if they do. That should probably be corrected one way or another but I'm not yet sure how. Shawn, do you think it's worth reporting this on the bug tracker? I would guess that the same happens however you make an icon theme available, be it through an embedded resource or an XDG-style icon directory, no? R. From thiago.macieira at intel.com Tue Jan 3 13:52:01 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 03 Jan 2017 10:52:01 -0200 Subject: [Interest] 2017 In-Reply-To: <61839559.b6D7phl6t5@bola> References: <6024720.WQBj4qu2Fe@portia.local> <61839559.b6D7phl6t5@bola> Message-ID: <2080522.jjbqAqU5jZ@tjmaciei-mobl1> On terça-feira, 3 de janeiro de 2017 10:37:56 BRST René J.V. Bertin wrote: > As a side-note: I've been discussing Wayland on Mac with one of the XQuartz > maintainers. He likes the idea, but there's no one working on it right now, > and the Wayland libraries depend on a couple of functions that aren't > available on Mac (signalfd(), timerfd()). signalfd is useless in a library since a library cannot control all the threads in an application. You probably meant that it's used in Weston, not in Wayland. I'm not sure Weston would be the best solution for Wayland-on-Mac. It's a good way to get started, but Weston's purpose is to be a full compositor. A potential WQuartz wouldn't need to do that, it would be more like XWayland: it would accept new clients via the Wayland protocol and communicate with them, but otherwise all the work would be done by OpenGL, EGL and Quartz itself. However, timerd makes sense. More important than that are actually memfd and memory sealing, which were features created in the Linux kernel *because* of Wayland. Memory sealing is a technique that adds a few extra guarantees to shared memory: among other things, it prevents one process from shrinking the SHM segment and causing the other to SIGBUS when it accessed memory that was previously valid. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From Shawn.Rutledge at qt.io Tue Jan 3 14:57:51 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Tue, 3 Jan 2017 13:57:51 +0000 Subject: [Interest] 2017 In-Reply-To: <1711206.9IGhJl0bfy@portia.local> References: <6024720.WQBj4qu2Fe@portia.local> <61839559.b6D7phl6t5@bola> <78CA6086-4409-4CB2-8C15-EA9FBE28EEC4@qt.io> <1711206.9IGhJl0bfy@portia.local> Message-ID: <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> > On 3 Jan 2017, at 12:45, René J.V. Bertin wrote: > I haven't given that much thought, but yes, I think the idea would be to have a "rootless" Wayland compositor that displays windows alongside native windows, much like Xquartz can do. An important appeal to the XQuartz maintainer I spoke with is that it would make XQuartz obsolete because it could in principle be replaced by XWayland. Done right that should provide a more complete X11 implementation requiring less maintenance effort. > As to remote use: I thought that wasn't the point of Wayland at all? No they keep saying it’s not the point (optimizing for that would impose limitations). They keep saying to go on using X11 or VNC or whatever existing solution you like. But then, if Wayland will eventually make X11 obsolete, that will be impractical at some point, right? Besides the fact that X11-over-network doesn’t work well with every application anyway. (The best applications for that are old-school: using X resources sparingly and reusing them properly, sending text across and asking the X server to render it, and so on. Qt hasn’t been optimized for that in ages.) Personally I think a good eventual solution would be to leverage the application server's GPU (the client machine in X terminology) both for rendering and for compression, and send compressed frames (or frame diffs) over the network, using some compression technique which both runs well on the GPU and is as close to lossless as possible. But it won’t scale to lots of users either, if the GPU usage ends up being too high. Oh well, maybe X11 will realistically be around for another couple of decades anyway. Another alternative of course is to use some other client-server protocol such that only the “model” of MVC is on the server, and UI rendering instructions are sent across the network instead of actual rendered graphics. For example load QML over the network and run it locally. For some reason we aren’t putting much emphasis on that as a primary use case yet, but I wonder if anybody in the field is doing much of that? > It's still using the adapted KDE platform plugin which makes it possible to map KDE's font roles to different font sizes so applications automatically stop using the same (big!) font size for most of the GUI if they don't explicitly specify smaller font sizes. This is on 10.9, so the system font is Lucida Grande. The platform theme also adds the XDG icon directory to the icon theme search path, and that makes icons appear in the native widget style dialog buttons because the code only checks if the buttons have an icon set or not, and render it if they do. That should probably be corrected one way or another but I'm not yet sure how. > > Shawn, do you think it's worth reporting this on the bug tracker? I would guess that the same happens however you make an icon theme available, be it through an embedded resource or an XDG-style icon directory, no? Sure, but it will get triaged to a pretty low priority if it only affects this unusual setup of yours. But anyone can write a patch for it anyway, especially if the fix is straightforward and doesn’t break anything. From ulf.hermann at qt.io Tue Jan 3 15:07:08 2017 From: ulf.hermann at qt.io (Ulf Hermann) Date: Tue, 3 Jan 2017 15:07:08 +0100 Subject: [Interest] 2017 In-Reply-To: <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> References: <6024720.WQBj4qu2Fe@portia.local> <61839559.b6D7phl6t5@bola> <78CA6086-4409-4CB2-8C15-EA9FBE28EEC4@qt.io> <1711206.9IGhJl0bfy@portia.local> <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> Message-ID: > Another alternative of course is to use some other client-server protocol such that only the “model” of MVC is on the server, and UI rendering instructions are sent across the network instead of actual rendered graphics. For example load QML over the network and run it locally. For some reason we aren’t putting much emphasis on that as a primary use case yet, but I wonder if anybody in the field is doing much of that? It's called "The Web" and there are many reasons to hate it. However, one thing the relevant people in the field got somewhat right (IMO) is the level of coupling between the "model" and the rest of the application. From Shawn.Rutledge at qt.io Tue Jan 3 15:36:46 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Tue, 3 Jan 2017 14:36:46 +0000 Subject: [Interest] 2017 In-Reply-To: References: <6024720.WQBj4qu2Fe@portia.local> <61839559.b6D7phl6t5@bola> <78CA6086-4409-4CB2-8C15-EA9FBE28EEC4@qt.io> <1711206.9IGhJl0bfy@portia.local> <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> Message-ID: > On 3 Jan 2017, at 15:07, Ulf Hermann wrote: >> Another alternative of course is to use some other client-server protocol such that only the “model” of MVC is on the server, and UI rendering instructions are sent across the network instead of actual rendered graphics. For example load QML over the network and run it locally. For some reason we aren’t putting much emphasis on that as a primary use case yet, but I wonder if anybody in the field is doing much of that? > > It's called "The Web" and there are many reasons to hate it. However, one thing the relevant people in the field got somewhat right (IMO) is the level of coupling between the "model" and the rest of the application. It’s just that QML rendering is more efficient than any browser… that’s what we keep telling people anyway. ;-) So I think we need to focus a bit on QML-based web applications at some point. If you use http to load the QML (which we have already been able to do for years) then you’ve got the same model / view&controller separation that the web has, and can easily rewrite the front-end without changing whatever REST services (preferably) that it depends on. Even since the late 90’s or so, people have been saying that it makes more sense to write new applications with HTML rather than widgets; so if we leave ourselves out of that, well... BTW now that https://codereview.qt-project.org/#/c/181098/ is integrated, it so happens that you can use the qml runtime as a “browser” for qml files on a web server. As in qml http://ecloud.org/expt/qtquick/multiparticles.qml (And that wasn’t even the point of that patch.) Hmm, seems that it still needs work to be able to load dependencies beyond that first qml file though… From jerome at bodycad.com Tue Jan 3 15:39:39 2017 From: jerome at bodycad.com (=?UTF-8?B?SsOpcsO0bWUgR29kYm91dA==?=) Date: Tue, 3 Jan 2017 09:39:39 -0500 Subject: [Interest] How to provide a component to a QML item? In-Reply-To: References: Message-ID: StandardScreenWithSpecificContent { id: component_ property var myOptions: ['foo', 'bar'] property alias delegate: repeater_.delegate Repeater { id: repeater_ model: component_.myOptions delegate: StandardScreenContent { property string myContent: component_.myOptions[index] // use a Loader if you need dynamic instance of children with component_ input or even Instantiator for non Item object } } } [image: bodycad] Jerome Godbout Software Developer 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 T: +1 418 527-1388 E: jerome at bodycad.com www.bodycad.com The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Le contenu de ce message et les pièces jointes sont destinés uniquement pour le(s) destinataire(s) et peuvent contenir des informations confidentielles et / ou privilégiées qui peuvent être protégées légalement contre toute divulgation. Si vous n'êtes pas le destinataire de ce message ou son agent, ou si ce message vous a été adressé par erreur, s’il vous plaît avertir immédiatement l'expéditeur par courriel de réponse, puis supprimer ce message et les pièces jointes. Si vous n'êtes pas le destinataire prévu, vous êtes par la présente informé que toute utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces jointes est strictement interdit. On Mon, Dec 19, 2016 at 8:16 PM, Yasser Sobhy wrote: > Hi Jason > > I am not sure if I have understood you correctly, but I think I have used > a similar approach in some of my apps to create a dynamic-content list. > > I have done that by aliasing the data property of the column item as > follows > > //StandardScreenWithSpecificContent.qml > StandardScreenWithSpecificContent { > > property alias elements : column1.data > > /* implied StandardScreenContent */ > Column { > id: column1 > } > } > > This way you can dynamically change the children items of the column by > assigning an array of items > > > StandardScreenWithSpecificContent { > elements : [ > Label { > text: "label 1" > }, > > Label { > text: "label 2" > } > ] > } > > > > On Dec 20, 2016 3:30 AM, "Jason H" wrote: > > I've got a situation where I have a variety of items ("screens" in a > stackView) where they have a similar structure, but the content differs. > > Example: > Screen { > Column { > StandardScreenContent { } > ScreenSpecificContent{ } > } > } > > But I'd like to do it like: > StandardScreenWithSpecificContent { > /* implied StandardScreenContent */ > delegate: { > Column { > /* screen specific content*/ > } > } > } > > This is a limited example, so it may not make a lot of sense in this > context but I think that illustrates my intent. How can I accomplish it? > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Tue Jan 3 16:19:27 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Tue, 03 Jan 2017 16:19:27 +0100 Subject: [Interest] 2017 In-Reply-To: <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> References: <6024720.WQBj4qu2Fe@portia.local> <1711206.9IGhJl0bfy@portia.local> <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> Message-ID: <4497958.Uxus2Jyd5p@bola> On Tuesday January 3 2017 13:57:51 Shawn Rutledge wrote: >> As to remote use: I thought that wasn't the point of Wayland at all? > >They keep saying to go on using X11 or VNC or whatever existing solution you like. They could implement their own VNC compositor then ;) >But then, if Wayland will eventually make X11 obsolete, that will be impractical at some point, right? Besides the fact that X11-over-network doesn’t work well with every application anyway. (The best applications for that are old-school: using X resources sparingly and reusing them properly, sending text across and asking the X server to render it, and so on. Qt hasn’t been optimized for that in ages.) Actually, you can even do animations over the network with pure X, but that requires some setting up (sending pre-calculated images before animating them). Simple vector graphics works fine, too. >Personally I think a good eventual solution would be to leverage the application server's GPU (the client machine in X terminology) both for rendering and for compression, and send compressed frames (or frame diffs) over the network, using some compression technique which both runs well on the GPU and is as close to lossless as possible. But it won’t scale to lots of users either, if the GPU usage ends up being too high. That sounds reasonable. It bit far from the original topic, but who cares :) As to GPU usage: one important and vocal class of users doing remote displaying (*with* OpenGL if you please) are scientists who do heavy calculation on big headless clusters. I don't think local GPU usage is an issue for them. >Oh well, maybe X11 will realistically be around for another couple of decades anyway. Very likely, esp. if Wayland doesn't implement a good remote protocol. >Another alternative of course is to use some other client-server protocol such that only the “model” of MVC is on the server, and UI rendering instructions are sent across the network instead of actual rendered graphics. Erm, that's what X11 does traditionally, no? >> Shawn, do you think it's worth reporting this on the bug tracker? I would guess that the same happens however you make an icon theme available, be it through an embedded resource or an XDG-style icon directory, no? > >Sure, but it will get triaged to a pretty low priority if it only affects this unusual setup of yours. I'm not sure. I would expect that it affects any application that provides an icon theme in an embedded resource even though I see no sign of it in Kevin's screenshot. I certainly do not patch any code to add icons explicitly do dialog buttons so any icons that show up in those buttons are the result of default icon lookups that all of a sudden return a non-empty icon. >But anyone can write a patch for it anyway, especially if the fix is straightforward and doesn’t break anything. I'd have to look how complicated it would be (and that doesn't have a very high priority for me either) but it would basically be respecting the dialog-buttons-have-icons attribute. AFAIK the attribute is set to Off on Mac, so respecting it in the appropriate locations shouldn't make any difference under normal circumstances. My guess is that identifying the appropriate locations will be more time-consuming than writing the patch. R. From flamaros.xavier at gmail.com Tue Jan 3 16:29:46 2017 From: flamaros.xavier at gmail.com (Xavier Bigand) Date: Tue, 3 Jan 2017 16:29:46 +0100 Subject: [Interest] [Qt3D] Crash when changing an entity's parent many times In-Reply-To: References: Message-ID: Hi, Sorry for the delay, I just tested with Qt5.8 RC and it now works. Thank you and happy new year. 2016-10-26 17:19 GMT+02:00 Sean Harmer : > Hi, > > can you file a JIRA with a small test case please? > > Cheers, > > Sean > > On 26/10/2016 16:16, Xavier Bigand wrote: > >> Yes I had this issue too, but when trying to share my QShaderProgram not >> changing parents. >> >> I simply can't progress as fast as want because of a lot of small bugs >> like this one and sadly I don't know how the backend is supposed to work >> to be able to contribute. >> >> >> In our homebrew engine I had similar issue, and the simplest way to >> solve them was to check ptr in the 3D engine instead of using assert, >> because it can be much hard from the user view to ensure the validity of >> all nodes. >> >> >> >> 2016-10-26 16:56 GMT+02:00 Oleg Evseev > >: >> >> Hi, >> >> I had problems similar to what you describe >> https://bugreports.qt.io/browse/QTBUG-55093 >> in qt 5.7. I haven't >> check it on 5.8. >> >> 2016-10-26 16:37 GMT+03:00 Xavier Bigand > >: >> >> >> Hi, >> >> I have to change to parent to nullptr to make some entities >> invisible, but when I put them visible back I get a crash. >> >> The crash is a segfault in the method void >> Entity::setNodeManagers(NodeManagers *manager) because the this >> pointer is null. >> >> Here is the callstack : >> Qt53DRenderd.dll!Qt3DRender::Render::Entity::setNodeManager >> s(Qt3DRender::Render::NodeManagers >> * manager) Line 140C++ >> Qt53DRenderd.dll!Qt3DRender::Render::RenderEntityFunctor::c >> reate(const >> QSharedPointer & change) Line >> 562C++ >> Qt53DCored.dll!Qt3DCore::QAbstractAspectPrivate::createBack >> endNode(const >> QSharedPointer & change) Line >> 198C++ >> Qt53DCored.dll!Qt3DCore::QAbstractAspectPrivate::sceneNodeA >> dded(QSharedPointer >> & change) Line 163C++ >> Qt53DCored.dll!Qt3DCore::QChangeArbiter::distributeQueueChan >> ges(std::vector,std::allocator< >> QSharedPointer >> > > * changeQueue) Line 120C++ >> Qt53DCored.dll!Qt3DCore::QChangeArbiter::syncChanges() Line >> 180C++ >> Qt53DCored.dll!Qt3DCore::QAspectManager::exec() Line 282C++ >> Qt53DCored.dll!Qt3DCore::QAspectThread::run() Line 88C++ >> Qt5Cored.dll!QThreadPrivate::start(void * arg) Line 380C++ >> [External Code] >> [Frames below may be incorrect and/or missing, no symbols >> loaded for kernel32.dll] >> >> >> >> I am also curious to know what does the enable flag on QEntity, >> it seems easier to use it to control the visibility of object >> and maybe faster. >> >> >> PS: I am using the git branch 5.8 >> >> >> -- >> Xavier >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> >> >> >> >> -- >> Xavier >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > -- > Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK > KDAB (UK) Ltd, a KDAB Group company > Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 > Mobile: +44 (0)7545 140604 > KDAB - Qt Experts > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Xavier -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Jan 3 16:50:06 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 03 Jan 2017 13:50:06 -0200 Subject: [Interest] 2017 In-Reply-To: <4497958.Uxus2Jyd5p@bola> References: <6024720.WQBj4qu2Fe@portia.local> <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> <4497958.Uxus2Jyd5p@bola> Message-ID: <4657143.cfT7FinIjq@tjmaciei-mobl1> On terça-feira, 3 de janeiro de 2017 16:19:27 BRST René J.V. Bertin wrote: > >Another alternative of course is to use some other client-server protocol > >such that only the “model” of MVC is on the server, and UI rendering > >instructions are sent across the network instead of actual rendered > >graphics. > Erm, that's what X11 does traditionally, no? The one that is slow, broken and no one uses anymore? Yes. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From Shawn.Rutledge at qt.io Tue Jan 3 17:05:07 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Tue, 3 Jan 2017 16:05:07 +0000 Subject: [Interest] 2017 In-Reply-To: <4497958.Uxus2Jyd5p@bola> References: <6024720.WQBj4qu2Fe@portia.local> <1711206.9IGhJl0bfy@portia.local> <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> <4497958.Uxus2Jyd5p@bola> Message-ID: > On 3 Jan 2017, at 16:19, René J.V. Bertin wrote: > > On Tuesday January 3 2017 13:57:51 Shawn Rutledge wrote: > >>> As to remote use: I thought that wasn't the point of Wayland at all? >> >> They keep saying to go on using X11 or VNC or whatever existing solution you like. > > They could implement their own VNC compositor then ;) If nobody has done that yet, it’s quite predictable that someone will pretty soon. (googles) ok maybe https://github.com/RealVNC/wayland-developer-preview but I haven’t tried it... >> Personally I think a good eventual solution would be to leverage the application server's GPU (the client machine in X terminology) both for rendering and for compression, and send compressed frames (or frame diffs) over the network, using some compression technique which both runs well on the GPU and is as close to lossless as possible. But it won’t scale to lots of users either, if the GPU usage ends up being too high. > > That sounds reasonable. It bit far from the original topic, but who cares :) > As to GPU usage: one important and vocal class of users doing remote displaying (*with* OpenGL if you please) are scientists who do heavy calculation on big headless clusters. I don't think local GPU usage is an issue for them. Right, but frame rate and bandwidth and latency do matter. It’s a different use case anyway. I guess some combination of Wayland + OpenGL could be sent across the network in the same way as X11 + GLX can be, but when googling about remote Wayland it looks like people seem to think mainly of sending pre-rendered frames. Both could be useful depending on speed and latency of the network and availability of the local GPU. >> Another alternative of course is to use some other client-server protocol such that only the “model” of MVC is on the server, and UI rendering instructions are sent across the network instead of actual rendered graphics. > > Erm, that's what X11 does traditionally, no? No, because you can’t send any complete objects from the view layer across to the X server. When you write the view in an OO language you’d probably include some imperative code to assemble the widgets and to handle low-level events and to fetch and format values from the model - it's more than just the elements which are rendered. X protocol is not programmable. (OTOH anything that is programmable is exploitable, so I guess that’s why X servers aren’t known for having security holes left and right like browsers do.) https://en.wikipedia.org/wiki/X_Window_System says "X also lacks native support for user-defined stored procedures on the X server, in the manner of NeWS – there is no Turing-complete scripting facility.” Exactly - NeWS was based on Postscript, so it was superior in this regard. (At some point ages ago, I tentatively started a little project to recreate something like NeWS, but didn’t get very far before I realized I’m not so fond of stack-based languages that I want to write a lot of code that way, despite having used Postscript in anger on more than one occasion. ;-) And nowadays a stack-based language is not the highest-performing VM that you could build upon, if you want to translate some other language to it. From apoenitz at t-online.de Tue Jan 3 17:56:09 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Tue, 3 Jan 2017 17:56:09 +0100 Subject: [Interest] 2017 In-Reply-To: <4657143.cfT7FinIjq@tjmaciei-mobl1> References: <6024720.WQBj4qu2Fe@portia.local> <750B40D6-7172-4E9D-9E11-EB30511F432D@qt.io> <4497958.Uxus2Jyd5p@bola> <4657143.cfT7FinIjq@tjmaciei-mobl1> Message-ID: <20170103165608.GA1781@klara.mpi.htwm.de> On Tue, Jan 03, 2017 at 01:50:06PM -0200, Thiago Macieira wrote: > On terça-feira, 3 de janeiro de 2017 16:19:27 BRST René J.V. Bertin wrote: > > >Another alternative of course is to use some other client-server protocol > > >such that only the “model” of MVC is on the server, and UI rendering > > >instructions are sent across the network instead of actual rendered > > >graphics. > > Erm, that's what X11 does traditionally, no? > > The one that is slow, broken and no one uses anymore? Yes. Nonsense. Andre' From c.wassmuth at oculus.de Tue Jan 3 17:54:48 2017 From: c.wassmuth at oculus.de (Wassmuth, Christian) Date: Tue, 3 Jan 2017 16:54:48 +0000 Subject: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" Message-ID: <1F4FFD6475560E42951A2243003FADD272F523@OCSRVEX.oculus.de> Hallo, I've tried to build Qt for android from the 5.8 branch in git. The build succeeded without error, but when I try to run an app against this version, I get the following error: F libuntitled1.so: kernel/qguiapplication.cpp:1132 (void init_platform(const QString&, const QString&, const QString&, int&, char**)): This application failed to start because it could not find or load the Qt platform plugin "android" F libuntitled1.so: in "". Does anyone know what caused this error? The prebuild 5.7 android package runs well. The Qt configuration was: ./configure -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/oculus/android-ndk-r13b -android-sdk /home/oculus/android-sdk -android-ndk-host linux-x86_64 -android-toolchain-version 4.9 -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -skip qtwebengine -no-warnings-are-errors -confirm-license -opensource -developer-build -opengl es2 -shared -qpa android The full app log output is: I art : Late-enabling -Xcheck:jni W System : ClassLoader referenced unknown path: W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Gui.so: unused DT entry: type 0xf arg 0x5d143 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Gui.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Network.so: unused DT entry: type 0xf arg 0x27db2 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Network.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Qml.so: unused DT entry: type 0xf arg 0x5531c W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Qml.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Quick.so: unused DT entry: type 0xf arg 0x5f802 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5Quick.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5QuickParticles.so: unused DT entry: type 0xf arg 0x72c8 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libQt5QuickParticles.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.untitled1/qt-reserved-files/plugins/platforms/android/libqtforandroid.so: unused DT entry: type 0xf arg 0xa89b W linker : /data/data/org.qtproject.example.untitled1/qt-reserved-files/plugins/platforms/android/libqtforandroid.so: unsupported flags DT_FLAGS_1=0x81 I Qt : qt start W linker : /data/data/org.qtproject.example.untitled1/qt-reserved-files/plugins/bearer/libqandroidbearer.so: unused DT entry: type 0xf arg 0x1a8e W linker : /data/data/org.qtproject.example.untitled1/qt-reserved-files/plugins/bearer/libqandroidbearer.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.untitled1-1/lib/arm/libuntitled1.so: unused DT entry: type 0xf arg 0x51e D : debugger/qqmldebug.cpp:52 (QQmlDebuggingEnabler::QQmlDebuggingEnabler(bool)): QML debugging is enabled. Only use this in a safe environment. D OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true I OpenGLRenderer: Initialized EGL, version 1.4 F libuntitled1.so: kernel/qguiapplication.cpp:1132 (void init_platform(const QString&, const QString&, const QString&, int&, char**)): This application failed to start because it could not find or load the Qt platform plugin "android" F libuntitled1.so: in "". 01-03 17:32:56.947 9054 9088 F libuntitled1.so: F libuntitled1.so: Reinstalling the application may fix this problem. F libc : Fatal signal 6 (SIGABRT), code -6 in tid 9088 (ample.untitled1) D mali_winsys: new_window_surface returns 0x3000, [2048x1536]-format:1 Thanks, Christian From rpzrpzrpz at gmail.com Tue Jan 3 17:55:03 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Tue, 3 Jan 2017 10:55:03 -0600 Subject: [Interest] QMAKE_ASSET_CATALOGS Message-ID: Anybody know how to make QMAKE_ASSET_CATALOGS actually work. No working example on net. Qt 5.7.1 OSX building for IOS From apoenitz at t-online.de Tue Jan 3 18:26:06 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Tue, 3 Jan 2017 18:26:06 +0100 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <1483354543.492862223@f432.i.mail.ru> References: <1483354543.492862223@f432.i.mail.ru> Message-ID: <20170103172606.GA1961@klara.mpi.htwm.de> On Mon, Jan 02, 2017 at 01:55:43PM +0300, Serge K via Interest wrote: > I used QtCreator with older Qt versions. Now I use QtCreator 4.0.1 > with Qt5.6.1 but I cannot see major difference between it's QtDesigner > and old one. There is none. > Through years Designer remains the same with ugly > functionality, glitches and terrible limitations. Designer is not meant to be a full programming environment. One has to find one own's sweet spot of where to stop using Designer functionality and when to start real code. This mostly depends on personal preferences and expectations. My *personal* approach is to use Desiner only to play around to get layout and resizing behaviour right, but re-do the actual implementation in code, either from scratch or based on uic output. More common is to place the cut at keeping the layout in .ui files but do connections, actions etc. in code, because even though one can do (parts of?) connections, actions, etc in Designer, > You added new connection in editor? You will not see it, it is > somewhere on top or bottom, you must yet scroll to it. You need set > type of signal/slot connection? NO, it is not possible. You created > plugin to use in Designer? Since the 'Promote to ...' functionality has been introduced, Designer plugins only make sense for really complex widgets with a significant number of new DESIGNABLE properties. [In my personal approach to use Designer, this, of course, means 'never', since setting some 'new' property typically does not influence layouting] > You will restart QtCreator after each compilation. And you > will not have any debugging features while testing plugin in Designer. > And others, others, others "no, it is not possible" or "made at 90th" > features. Is there anybody now creating NEW QtDesigner? Not really. If you want to improve Qt Designer the best approach is to submit patches on codereview.qt-project.org. Andre' From bhood2 at comcast.net Tue Jan 3 19:18:57 2017 From: bhood2 at comcast.net (Bob Hood) Date: Tue, 3 Jan 2017 11:18:57 -0700 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <20170103172606.GA1961@klara.mpi.htwm.de> References: <1483354543.492862223@f432.i.mail.ru> <20170103172606.GA1961@klara.mpi.htwm.de> Message-ID: <146ddd0e-afc1-7a59-0adb-99fae34fce16@comcast.net> On 1/3/2017 10:26 AM, André Pönitz wrote: > My *personal* approach is to use Desiner only to play around to get > layout and resizing behaviour right, but re-do the actual implementation > in code, either from scratch or based on uic output. Indeed, this is precisely how I use it in my workflow as well with QtCreator. Strictly layout of widgets, and then do signal/slot connections and dependency logic in the C++ code. Works wonderfully. From rjvbertin at gmail.com Tue Jan 3 19:19:43 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Tue, 03 Jan 2017 19:19:43 +0100 Subject: [Interest] 2017 In-Reply-To: References: <6024720.WQBj4qu2Fe@portia.local> <4497958.Uxus2Jyd5p@bola> Message-ID: <1700286.GziVOuxNEX@bola> On Tuesday January 3 2017 16:05:07 Shawn Rutledge wrote: >If nobody has done that yet, it’s quite predictable that someone will pretty soon. (googles) ok maybe https://github.com/RealVNC/wayland-developer-preview but I haven’t tried it... That still requires the Weston reference server, but I guess it's a start. >googling about remote Wayland it looks like people seem to think mainly of sending pre-rendered frames. Both could be useful depending on speed and latency of the network and availability of the local GPU. It certainly would make sense if that big cluster contains a whole bunch of fat GPUs - that's being done currently, no? You'd need a pretty powerful network connection though, but that depending on the dataset with which you're working, prerendered frames might actually be smaller than the dataset they are supposed to visualise. >No, because you can’t send any complete objects from the view layer across to the X server. When you write the view in an OO language you’d Seen in that light, indeed, no, that's not what X does. >that’s why X servers aren’t known for having security holes left and right like browsers do.) No, you can just snoop on what people are doing, run DOS attacks or funny old little hacks like melt :) > didn’t get very far before I realized I’m not so fond of stack-based languages that I want to write a lot of code that way, despite having used > Postscript in anger on more than one occasion. ;-) Heh, and yet Postscript beats HPGL every day ... but I guess now I understand why DisplayPdf never took off :) R. From apoenitz at t-online.de Tue Jan 3 19:33:46 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Tue, 3 Jan 2017 19:33:46 +0100 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: References: <1483354543.492862223@f432.i.mail.ru> <1662067.dKGuqbcK4k@tjmaciei-mobl1> Message-ID: <20170103183346.GB1961@klara.mpi.htwm.de> On Mon, Jan 02, 2017 at 01:40:51PM +0000, Shawn Rutledge wrote: > > > On 2 Jan 2017, at 14:15, Thiago Macieira > > wrote: > > > > On segunda-feira, 2 de janeiro de 2017 13:55:43 BRST Serge K via > > Interest wrote: > >> Is there anybody now creating NEW QtDesigner? Are there at least > >> plans for it? WHEN???!! > > > > No, no one is working on that, as far as I know. > > I used it extensively in previous jobs, and my experience then was > that it worked well enough to use, and boosts productivity a lot > compared to writing all the widget-construction code by hand. It got > even better with the Creator integration. If there are some bugs and > usability problems, they could be fixed, so I don’t see a need for a > rewrite of the same functionality. /me nods. > But the Qt Company has not been focused on widget issues for several > years now, because of QtQuick. So, the new designer is effectively > the QtQuick designer. Well, not really. Since Qt Quick is not a replacement for Qt Widgets, Qt Quick Designer can not really be considered a replacement for Qt ['Widgets'] Designer. It is a different tool to handle a similar task for a different technology, like using a screwdriver to 'drive in' screws and a hammer to 'drive in' nails. While there is a large overlap in the 'drive in' activity, and quite some overlap of the result ('connect things') it's not really prudent to use a hammer to drive in screws (yes, it 'works'...) or to use a screwdriver to drive in nails. > But if anyone feels like fixing any annoying usability issues in the > old designer, patches are welcome. Indeed. Andre' From bralchenko at ics.com Tue Jan 3 19:32:41 2017 From: bralchenko at ics.com (bralchenko at ics.com) Date: Tue, 3 Jan 2017 13:32:41 -0500 Subject: [Interest] QMAKE_ASSET_CATALOGS In-Reply-To: References: Message-ID: While not exactly QMAKE_ASSET_CATALOGS, but that’s how we manage assets, including iOS specific files. This is iOS section of the pro file. # iOS ios { deployment.files = $$PWD/assets QMAKE_BUNDLE_DATA += deployment assets_catalogs.files = $$files($$PWD/ios_files/*.xcassets) QMAKE_BUNDLE_DATA += assets_catalogs launch.files = $$PWD/ios_files/Launch-My-App.xib QMAKE_BUNDLE_DATA += launch QMAKE_INFO_PLIST = $$PWD/ios_files/Info.plist OBJECTIVE_SOURCES += \ ios_files/nativeiosfunctions.mm OTHER_FILES += \ ios_files/my_app.ini DEMO_INI_QRC = ios_files/demo_ini.qrc } Regards, Boris Ralchenko. > On Jan 3, 2017, at 11:55 AM, mark diener wrote: > > Anybody know how to make QMAKE_ASSET_CATALOGS actually work. > > No working example on net. > > Qt 5.7.1 OSX building for IOS > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Tue Jan 3 19:42:23 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Tue, 3 Jan 2017 18:42:23 +0000 Subject: [Interest] Building Qt 5.8 from source on Windows - x86-windows-msvc2015-pe-32bit may not produce code compatible with the Qt version 5.8.1 (x86-windows-unknown-pe-32bit) Message-ID: Hi, I'm trying to build Qt 5.8 from source and I'm having problems I have never had when building previous versions. This is what I do to build it: With git bash: - git clone git://code.qt.io/qt/qt5.git - cd qt5 - perl init-repository With windows command prompt - I run the following .bat CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 SET _ROOT=C:\Qt\5.8\src\ SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%;c:\python27\ SET QMAKESPEC=win32-msvc SET QMAKE_MSC_VER=1900 SET _ROOT= Before I didn't need to set QMAKE_MSC_VER but if I don't set it, configure complains about the fact it isn't set. I'm not sure about the correct value to set but after inspecting msvc-version.conf I decided that I should use the value 1900 to have it configured for msvc-2015. - Then I call configure: configure -prefix c:\qt\5.8\msvc2015_5_8_static_32 -commercial -debug-and-release -static -static-runtime -nomake examples -nomake tools -nomake tests -opengl dynamic -skip multimedia -skip qt3d -skip qtsensors -skip webengine Then I build and install it. When setting the new kit on Qt Creator I have the following warning. I cannot use this kit to run qmake. It says: "The kit Desktop Qt 5.8.1 MSVC2013 32bit Static has configuration issues which might be the root cause for this problem." What is wrong? What am I missing here? Thanks, Regards, Nuno -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mebfdipdlpmibbjk.png Type: image/png Size: 80469 bytes Desc: not available URL: From Jake.Petroules at qt.io Tue Jan 3 19:53:01 2017 From: Jake.Petroules at qt.io (Jake Petroules) Date: Tue, 3 Jan 2017 18:53:01 +0000 Subject: [Interest] QMAKE_ASSET_CATALOGS In-Reply-To: References: Message-ID: <3190F1A5-2411-49C8-B2C5-BA0938191F9A@qt.io> Asset catalogs in QMAKE_BUNDLE_DATA are deprecated in 5.7.1 Simply add the path to your xcassets bundle to QMAKE_ASSET_CATALOGS, like so: QMAKE_ASSET_CATALOGS += path/to/resources.xcassets You can also set the name of the app icon and launch image like so: QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon QMAKE_ASSET_CATALOGS_LAUNCH_IMAGE = Default Other variables are documented in assets_catalogs.prf (https://github.com/qt/qtbase/blob/dev/mkspecs/features/mac/asset_catalogs.prf). _BUILD_PATH and _INSTALL_PATH typically do not need to be set. > On Jan 3, 2017, at 10:32 AM, bralchenko at ics.com wrote: > > > While not exactly QMAKE_ASSET_CATALOGS, but that’s how we manage assets, including iOS specific files. This is iOS section of the pro file. > > # iOS > ios { > deployment.files = $$PWD/assets > QMAKE_BUNDLE_DATA += deployment > > assets_catalogs.files = $$files($$PWD/ios_files/*.xcassets) > QMAKE_BUNDLE_DATA += assets_catalogs > > launch.files = $$PWD/ios_files/Launch-My-App.xib > QMAKE_BUNDLE_DATA += launch > > QMAKE_INFO_PLIST = $$PWD/ios_files/Info.plist > > OBJECTIVE_SOURCES += \ > ios_files/nativeiosfunctions.mm > > OTHER_FILES += \ > ios_files/my_app.ini > > DEMO_INI_QRC = ios_files/demo_ini.qrc > } > > > > Regards, > Boris Ralchenko. > > > > > >> On Jan 3, 2017, at 11:55 AM, mark diener wrote: >> >> Anybody know how to make QMAKE_ASSET_CATALOGS actually work. >> >> No working example on net. >> >> Qt 5.7.1 OSX building for IOS >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Jake Petroules - jake.petroules at qt.io The Qt Company - Silicon Valley Qbs build tool evangelist - qbs.io From jhihn at gmx.com Tue Jan 3 20:05:48 2017 From: jhihn at gmx.com (Jason H) Date: Tue, 3 Jan 2017 20:05:48 +0100 Subject: [Interest] QMAKE_ASSET_CATALOGS In-Reply-To: <3190F1A5-2411-49C8-B2C5-BA0938191F9A@qt.io> References: , <3190F1A5-2411-49C8-B2C5-BA0938191F9A@qt.io> Message-ID: Is there more comprehensive documentation? I have been deploying Qt-based iOS apps for years, and I am currently using: launch_images_actual.files = $$PWD/ios/Launch.xib $$PWD/ios/LaunchImage-iOS7-Portrait at 2x.png QMAKE_BUNDLE_DATA += launch_images_actual ios_icon.files = $$files($$PWD/ios/AppIcon*.png) QMAKE_BUNDLE_DATA += ios_icon I've heard about xcassettes, but don't know much about them. > Sent: Tuesday, January 03, 2017 at 1:53 PM > From: "Jake Petroules" > To: "bralchenko at ics.com" > Cc: "interest at qt-project.org" > Subject: Re: [Interest] QMAKE_ASSET_CATALOGS > > Asset catalogs in QMAKE_BUNDLE_DATA are deprecated in 5.7.1 > > Simply add the path to your xcassets bundle to QMAKE_ASSET_CATALOGS, like so: > > QMAKE_ASSET_CATALOGS += path/to/resources.xcassets > > You can also set the name of the app icon and launch image like so: > > QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon > QMAKE_ASSET_CATALOGS_LAUNCH_IMAGE = Default > > Other variables are documented in assets_catalogs.prf (https://github.com/qt/qtbase/blob/dev/mkspecs/features/mac/asset_catalogs.prf). _BUILD_PATH and _INSTALL_PATH typically do not need to be set. > > > On Jan 3, 2017, at 10:32 AM, bralchenko at ics.com wrote: > > > > > > While not exactly QMAKE_ASSET_CATALOGS, but that’s how we manage assets, including iOS specific files. This is iOS section of the pro file. > > > > # iOS > > ios { > > deployment.files = $$PWD/assets > > QMAKE_BUNDLE_DATA += deployment > > > > assets_catalogs.files = $$files($$PWD/ios_files/*.xcassets) > > QMAKE_BUNDLE_DATA += assets_catalogs > > > > launch.files = $$PWD/ios_files/Launch-My-App.xib > > QMAKE_BUNDLE_DATA += launch > > > > QMAKE_INFO_PLIST = $$PWD/ios_files/Info.plist > > > > OBJECTIVE_SOURCES += \ > > ios_files/nativeiosfunctions.mm > > > > OTHER_FILES += \ > > ios_files/my_app.ini > > > > DEMO_INI_QRC = ios_files/demo_ini.qrc > > } > > > > > > > > Regards, > > Boris Ralchenko. > > > > > > > > > > > >> On Jan 3, 2017, at 11:55 AM, mark diener wrote: > >> > >> Anybody know how to make QMAKE_ASSET_CATALOGS actually work. > >> > >> No working example on net. > >> > >> Qt 5.7.1 OSX building for IOS > >> _______________________________________________ > >> Interest mailing list > >> Interest at qt-project.org > >> http://lists.qt-project.org/mailman/listinfo/interest > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > -- > Jake Petroules - jake.petroules at qt.io > The Qt Company - Silicon Valley > Qbs build tool evangelist - qbs.io > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From thiago.macieira at intel.com Tue Jan 3 20:24:33 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 03 Jan 2017 17:24:33 -0200 Subject: [Interest] Building Qt 5.8 from source on Windows - x86-windows-msvc2015-pe-32bit may not produce code compatible with the Qt version 5.8.1 (x86-windows-unknown-pe-32bit) In-Reply-To: References: Message-ID: <2043430.I2xNirUkbg@tjmaciei-mobl1> On terça-feira, 3 de janeiro de 2017 18:42:23 BRST Nuno Santos wrote: > SET QMAKESPEC=win32-msvc My guess is that this change to the way we store mkspecs in Qt 5.8 broke the detection on Qt Creator. > SET QMAKE_MSC_VER=1900 Don't do this. It's useless and misleading, because qmake does not read that as an environment variable. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From schluchti at gmail.com Tue Jan 3 21:31:52 2017 From: schluchti at gmail.com (Bernhard B) Date: Tue, 3 Jan 2017 21:31:52 +0100 Subject: [Interest] Platform dependent *.qrc entries Message-ID: Hi, is it somehow possible to add a resource to the resources file (*.qrc) depending on the targeted platform? I have a few resources that are only needed on specific targets (e.q Android, iOS). Now I would like to make sure that those resources are only added on the targeted platform (to prevent that the executable gets to big). I know, that I can use different *qrc files (depending on the targeted platform) and include them when needed. e.q: android{ RESOURCES += android.qrc } ios{ RESOURCES += ios.qrc } But as most of the resources are shared between all targets, keeping those resource files in sync is really difficult. Is there a possibility to use just one *.qrc file and specify platform dependent entries in a different way? Thanks, Bernhard -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Tue Jan 3 21:41:45 2017 From: jhihn at gmx.com (Jason H) Date: Tue, 3 Jan 2017 21:41:45 +0100 Subject: [Interest] Platform dependent *.qrc entries In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From schluchti at gmail.com Tue Jan 3 21:59:09 2017 From: schluchti at gmail.com (Bernhard B) Date: Tue, 3 Jan 2017 21:59:09 +0100 Subject: [Interest] Fwd: Platform dependent *.qrc entries In-Reply-To: References: Message-ID: Hi Jason, thanks for your answer! Maybe I am misunderstanding something here, but isn't that something that happens at runtime? I always thought that all the platform dependent resources are bundled in the resources file and the file selector only selects the right resource for the platform the application is running on. 2017-01-03 21:41 GMT+01:00 Jason H : > File Selectors? http://www.ics.com/blog/mastering-qt-file-selectors > > +{selector} / > > > *Sent:* Tuesday, January 03, 2017 at 3:31 PM > *From:* "Bernhard B" > *To:* interest at qt-project.org > *Subject:* [Interest] Platform dependent *.qrc entries > Hi, > > is it somehow possible to add a resource to the resources file (*.qrc) > depending on the targeted platform? I have a few resources that are only > needed on specific targets (e.q Android, iOS). Now I would like to make > sure that those resources are only added on the targeted platform (to > prevent that the executable gets to big). I know, that I can use different > *qrc files (depending on the targeted platform) and include them when > needed. > > e.q: > > android{ > RESOURCES += android.qrc > } > > ios{ > RESOURCES += ios.qrc > } > > But as most of the resources are shared between all targets, keeping those > resource files in sync is really difficult. Is there a possibility to use > just one *.qrc file and specify platform dependent entries in a different > way? > > Thanks, > Bernhard > _______________________________________________ Interest mailing list > Interest at qt-project.org http://lists.qt-project.org/ma > ilman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Tue Jan 3 22:17:33 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Tue, 3 Jan 2017 21:17:33 +0000 Subject: [Interest] Building Qt 5.8 from source on Windows - x86-windows-msvc2015-pe-32bit may not produce code compatible with the Qt version 5.8.1 (x86-windows-unknown-pe-32bit) In-Reply-To: <2043430.I2xNirUkbg@tjmaciei-mobl1> References: <2043430.I2xNirUkbg@tjmaciei-mobl1> Message-ID: Thiago, Any ideas? Am I unable to compile it on windows right now? It that it? Anything that I can do? Thanks, Regards, Nuno > On 3 Jan 2017, at 19:24, Thiago Macieira wrote: > > On terça-feira, 3 de janeiro de 2017 18:42:23 BRST Nuno Santos wrote: >> SET QMAKESPEC=win32-msvc > > My guess is that this change to the way we store mkspecs in Qt 5.8 broke the > detection on Qt Creator. > >> SET QMAKE_MSC_VER=1900 > > Don't do this. It's useless and misleading, because qmake does not read that > as an environment variable. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From jhihn at gmx.com Tue Jan 3 22:34:04 2017 From: jhihn at gmx.com (Jason H) Date: Tue, 3 Jan 2017 22:34:04 +0100 Subject: [Interest] Fwd: Platform dependent *.qrc entries In-Reply-To: References: , Message-ID: An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Tue Jan 3 23:30:16 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Tue, 3 Jan 2017 22:30:16 +0000 Subject: [Interest] Qt 5.8 build from source on OSX - Can't configure ssl - Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && tests.openssl' failed. Message-ID: <978CD27F-E3B7-4143-BDAF-0AE28DECA694@imaginando.pt> Hi, I’m trying to compile Qt 5.8 from source with openssl-linked with the following configure command: ./configure -confirm-license -prefix /Users/nsantos/Qt/5.8/clang_64_5_8_beta_patched_static -platform macx-clang -commercial -debug-and-release -static -no-securetransport -openssl-linked -I/Users/nsantos//openssl/openssl-1.0.2e-x86/include -L/Users/nsantos/openssl/openssl-1.0.2e-x86 OPENSSL_LIBS="-lssl -lcrypto” But no matter what I try I always end up with this: ERROR: Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && tests.openssl' failed. ERROR: Feature 'openssl-linked' was enabled, but the pre-condition 'features.openssl && libs.openssl' failed. ERROR: Feature 'ssl' was enabled, but the pre-condition 'config.winrt || features.securetransport || features.openssl' failed. Check config.log for details. config.log is empty What am I failing here? Any ideas? Thanks! Nuno From thiago.macieira at intel.com Tue Jan 3 23:49:32 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 03 Jan 2017 20:49:32 -0200 Subject: [Interest] Building Qt 5.8 from source on Windows - x86-windows-msvc2015-pe-32bit may not produce code compatible with the Qt version 5.8.1 (x86-windows-unknown-pe-32bit) In-Reply-To: References: <2043430.I2xNirUkbg@tjmaciei-mobl1> Message-ID: <31021509.xdVPVWRiQV@tjmaciei-mobl1> On terça-feira, 3 de janeiro de 2017 21:17:33 BRST Nuno Santos wrote: > Thiago, > > Any ideas? Am I unable to compile it on windows right now? It that it? > > Anything that I can do? You can compile on Windows. You never said or offered any evidence you couldn't. Qt Creator couldn't recognise your build, that's all. You still have the command-line and you can force the detection. Also: report the issue. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Tue Jan 3 23:50:36 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 03 Jan 2017 20:50:36 -0200 Subject: [Interest] Platform dependent *.qrc entries In-Reply-To: References: Message-ID: <3390396.IDjN44xD74@tjmaciei-mobl1> On terça-feira, 3 de janeiro de 2017 21:31:52 BRST Bernhard B wrote: > android{ > RESOURCES += android.qrc > } > > ios{ > RESOURCES += ios.qrc > } > > But as most of the resources are shared between all targets, keeping those > resource files in sync is really difficult. Is there a possibility to use > just one *.qrc file and specify platform dependent entries in a different > way? Why don't you use three resources? RESOURCES += common.qrc android: RESOURCES += android.qrc ios: RESOURCES += ios.qrc -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Tue Jan 3 23:54:03 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 03 Jan 2017 20:54:03 -0200 Subject: [Interest] Qt 5.8 build from source on OSX - Can't configure ssl - Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && tests.openssl' failed. In-Reply-To: <978CD27F-E3B7-4143-BDAF-0AE28DECA694@imaginando.pt> References: <978CD27F-E3B7-4143-BDAF-0AE28DECA694@imaginando.pt> Message-ID: <3340563.eQDIVLcbcV@tjmaciei-mobl1> On terça-feira, 3 de janeiro de 2017 22:30:16 BRST Nuno Santos wrote: > Check config.log for details. > > > config.log is empty > > What am I failing here? Any ideas? Rerun configure with -recheck. You probably erased the file to have only the information you wanted, but configure now caches the failures too. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From jhihn at gmx.com Wed Jan 4 02:54:32 2017 From: jhihn at gmx.com (Jason H) Date: Wed, 4 Jan 2017 02:54:32 +0100 Subject: [Interest] 5.9 Wish: Reduce the QML model switching pain Message-ID: For C++ models, Qt uses .count. For JS models, it uses .length. When you find yourself in the unenviable position of having to provide a C++ model where a JS one would have sufficed, it's painful to have to change all the model.length-s to model.count-s. That's the "easy part". But the real magic would be if we could also eliminate the setProperty(index, property, value) pain. The desire is to be able to use: modelItems[i].property = 7 directly, instead of: modelItems.setProperty(i, "property", 7) The rest of JS land is moving to observables. It would be nice when setting a JS object to a model that transparently wraps it in some kind of QObservable that would take care of translating direct accesses to the proper model updates. Also, in a similar vein, support for: - for (var i of x) (ES2015) From rainer_wiesenfarth at trimble.com Wed Jan 4 06:13:33 2017 From: rainer_wiesenfarth at trimble.com (Rainer Wiesenfarth) Date: Wed, 4 Jan 2017 06:13:33 +0100 Subject: [Interest] Platform dependent *.qrc entries In-Reply-To: <3390396.IDjN44xD74@tjmaciei-mobl1> References: <3390396.IDjN44xD74@tjmaciei-mobl1> Message-ID: 2017-01-03 23:50 GMT+01:00 Thiago Macieira : > On terça-feira, 3 de janeiro de 2017 21:31:52 BRST Bernhard B wrote: > > android{ > > RESOURCES += android.qrc > > } > > > > ios{ > > RESOURCES += ios.qrc > > } > > > > But as most of the resources are shared between all targets, keeping > those > > resource files in sync is really difficult. Is there a possibility to use > > just one *.qrc file and specify platform dependent entries in a > different > > way? > > Why don't you use three resources? > > RESOURCES += common.qrc > android: RESOURCES += android.qrc > ios: RESOURCES += ios.qrc > ​Probably as this does not make it obvious for a developer that she has to add a version of a platform dependent resource to _all_ platform resource files?​ -- Software Engineer | Trimble Imaging Division Rotebühlstraße 81 | 70178 Stuttgart | Germany Office +49 711 22881 0 | Fax +49 711 22881 11 http://www.trimble.com/imaging/ | http://www.inpho.de/ Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim Eingetragen beim Amtsgericht Darmstadt unter HRB 83893, Geschäftsführer: Dr. Frank Heimberg, Jürgen Kesper -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Wed Jan 4 06:48:36 2017 From: jhihn at gmx.com (Jason H) Date: Wed, 4 Jan 2017 06:48:36 +0100 Subject: [Interest] Platform dependent *.qrc entries In-Reply-To: References: <3390396.IDjN44xD74@tjmaciei-mobl1>, Message-ID: An HTML attachment was scrubbed... URL: From the.warl0ck.1989 at gmail.com Wed Jan 4 07:35:07 2017 From: the.warl0ck.1989 at gmail.com (Aaron Lewis) Date: Wed, 4 Jan 2017 14:35:07 +0800 Subject: [Interest] Where are the pkgconfig files for Qt5.7 (mac)? Message-ID: I'm trying to compile Warzone2100 on mac, but But the configure script fails: configure:8912: $PKG_CONFIG --exists --print-errors "Qt5Core Qt5Gui Qt5Widgets Qt5Script" Package Qt5Core was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5Core.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5Core' found Package Qt5Gui was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5Gui.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5Gui' found Package Qt5Widgets was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5Widgets.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5Widgets' found Package Qt5Script was not found in the pkg-config search path. Perhaps you should add the directory containing `Qt5Script.pc' to the PKG_CONFIG_PATH environment variable No package 'Qt5Script' found I've downloaded Qt5.7 offline installer, installed and it works with QtCreator, but there's no pkgconfig files, any ideas? The only "relevant" files are: 5.7/clang_64/lib/pkgconfig/: Qt5OpenGLExtensions.pc Qt5UiTools.pc clang_64/mkspecs/features/link_pkgconfig.prf/ What should I do now? I don't want to compile Qt5 with homebrew -- Best Regards, Aaron Lewis - PGP: 0x13714D33 - http://pgp.mit.edu/ Finger Print: 9F67 391B B770 8FF6 99DC D92D 87F6 2602 1371 4D33 From nunosantos at imaginando.pt Wed Jan 4 08:52:30 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Wed, 4 Jan 2017 07:52:30 +0000 Subject: [Interest] Qt 5.8 build from source on OSX - Can't configure ssl - Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && tests.openssl' failed. In-Reply-To: <3340563.eQDIVLcbcV@tjmaciei-mobl1> References: <978CD27F-E3B7-4143-BDAF-0AE28DECA694@imaginando.pt> <3340563.eQDIVLcbcV@tjmaciei-mobl1> Message-ID: <439BACA7-FA9D-41EC-9178-BA7551D0589C@imaginando.pt> Bingo! ;) > On 3 Jan 2017, at 22:54, Thiago Macieira wrote: > > On terça-feira, 3 de janeiro de 2017 22:30:16 BRST Nuno Santos wrote: >> Check config.log for details. >> >> >> config.log is empty >> >> What am I failing here? Any ideas? > > Rerun configure with -recheck. You probably erased the file to have only the > information you wanted, but configure now caches the failures too. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From pbljung at gmail.com Wed Jan 4 00:54:11 2017 From: pbljung at gmail.com (Per Ljung) Date: Tue, 3 Jan 2017 15:54:11 -0800 Subject: [Interest] Firebase C++ with Qt Message-ID: Hi - I've tried to follow the iOS Firebase C++ & CocoaPods example at https://github.com/firebase/quickstart-cpp/tree/master/database/testapp which uses analytics, auth and database features to make a minimal Qt app without CocoaPods. I cut&paste Firebase C++ code from the sample testapp/src/common_main.cc. I only try to set & get integers in my public read/write database. I include the frameworks and source in testapp/Pods in the Pro file at https://github.com/firebase/quickstart-cpp/issues/3 The app compiles and begins to run. The database ref is reported as valid, but database set/get hangs in WaitForComplete() waiting for future.Status() to be updated. After 60s there is a timeout error "CFNetwork SSLHandshake failed (-9806)". Any ideas of what is wrong? I can read/write to the database using curl. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From alex at golks.de Wed Jan 4 09:11:24 2017 From: alex at golks.de (alexander golks) Date: Wed, 4 Jan 2017 09:11:24 +0100 Subject: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" In-Reply-To: <1F4FFD6475560E42951A2243003FADD272F523@OCSRVEX.oculus.de> References: <1F4FFD6475560E42951A2243003FADD272F523@OCSRVEX.oculus.de> Message-ID: <20170104091124.2f2f8432@gollum2.gollum.uni.cx> hi, i have no idea about packaging and deployment for android, but when i get this: > This application failed to start because it could not find or load the Qt platform plugin "android" on windows, i am missing the platforms directory including the qwindows.dll plugin somewhere in the QCoreApplication::libraryPaths(). perhaps this is your issue here? -- /* * A Tale of Two Cities LITE(tm) * -- by Charles Dickens * * A man in love with a girl who loves another man who looks just * like him has his head chopped off in France because of a mean * lady who knits. * * Crime and Punishment LITE(tm) * -- by Fyodor Dostoevski * * A man sends a nasty letter to a pawnbroker, but later * feels guilty and apologizes. * * The Odyssey LITE(tm) * -- by Homer * * After working late, a valiant warrior gets lost on his way home. */ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 181 bytes Desc: Digitale Signatur von OpenPGP URL: From c.wassmuth at oculus.de Wed Jan 4 10:02:20 2017 From: c.wassmuth at oculus.de (Wassmuth, Christian) Date: Wed, 4 Jan 2017 09:02:20 +0000 Subject: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" Message-ID: <1F4FFD6475560E42951A2243003FADD272F7C6@OCSRVEX.oculus.de> Thank you for your reply. There is a so-lib named "libplugins_platforms_android_libqtforandroid.so" in the apk-package, which I think is the platform plugin. -----Ursprüngliche Nachricht----- Von: Interest [mailto:interest-bounces+c.wassmuth=oculus.de at qt-project.org] Im Auftrag von alexander golks Gesendet: Mittwoch, 4. Januar 2017 09:12 An: interest at qt-project.org Betreff: Re: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" hi, i have no idea about packaging and deployment for android, but when i get this: > This application failed to start because it could not find or load the Qt platform plugin "android" on windows, i am missing the platforms directory including the qwindows.dll plugin somewhere in the QCoreApplication::libraryPaths(). perhaps this is your issue here? -- -------------- next part -------------- A non-text attachment was scrubbed... Name: Digitale Signatur von OpenPGP Type: application/pgp-signature Size: 188 bytes Desc: Digitale Signatur von OpenPGP URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: ATT00002.txt URL: From jjcasmar at gmail.com Wed Jan 4 11:01:01 2017 From: jjcasmar at gmail.com (Juan Jose Casafranca) Date: Wed, 4 Jan 2017 11:01:01 +0100 Subject: [Interest] How to contribute Message-ID: Hi, I'm trying to do some contributions to a Qt submodule (Qt3D) but I'm finding some troubles with git, the submodules and the configuration step. Some weeks ago I initialized the qt repo to the dev branch using the instructions in https://wiki.qt.io/Building_Qt_5_from_Git. For my patch, they suggested changing one code line with a new feature that was added in the dev repo after I initialized it. How should I updated it? Should I use git submodule update in the qt root folder? Should I use git pull in the submodule folder? After the submodules are updateed, should I reconfigure the whole qt project? Could someone explain the workflows which is following to do contributions to a qt submodule? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Wed Jan 4 11:01:07 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Wed, 4 Jan 2017 10:01:07 +0000 Subject: [Interest] Building Qt 5.8 from source on Windows - x86-windows-msvc2015-pe-32bit may not produce code compatible with the Qt version 5.8.1 (x86-windows-unknown-pe-32bit) In-Reply-To: <31021509.xdVPVWRiQV@tjmaciei-mobl1> References: <2043430.I2xNirUkbg@tjmaciei-mobl1> <31021509.xdVPVWRiQV@tjmaciei-mobl1> Message-ID: <8A55F44F-B752-4794-9A51-11C5E9C635DC@imaginando.pt> Thiago, > On 03 Jan 2017, at 22:49, Thiago Macieira wrote: > > Qt Creator couldn't recognise your build, that's all. You still have the > command-line and you can force the detection. Yes, it works! I have just compiled the project successful using the command line. > > Also: report the issue. Reported: https://bugreports.qt.io/browse/QTCREATORBUG-17534 -------------- next part -------------- An HTML attachment was scrubbed... URL: From viktor.engelmann at qt.io Wed Jan 4 11:58:01 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Wed, 4 Jan 2017 11:58:01 +0100 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: References: <1483354543.492862223@f432.i.mail.ru> <1662067.dKGuqbcK4k@tjmaciei-mobl1> Message-ID: <9c77f830-1474-ef20-0506-0b3ec07b8ddb@qt.io> Am 02.01.2017 um 14:40 schrieb Shawn Rutledge: > I used it extensively in previous jobs, and my experience then was that it worked well enough to use, and boosts productivity a lot compared to writing all the widget-construction code by hand. It got even better with the Creator integration. If there are some bugs and usability problems, they could be fixed, so I don’t see a need for a rewrite of the same functionality. But the Qt Company has not been focused on widget issues for several years now, because of QtQuick. So, the new designer is effectively the QtQuick designer. But if anyone feels like fixing any annoying usability issues in the old designer, patches are welcome. I personally would say that it works very well and for the most part I like it, but I do think that it desperately needs a better UX for integration of custom components. Custom components in Qt are just QWidget derivates and they can be taken from a designer plugin. This requires some extra code for making them findable (+give them an icon and name etc.) and plugins are technically shared libraries. This explains very clearly why recompiling a custom component requires a restart if we want a perfect preview like in .net, but I still think that there is a lot of room for improvement. For example creator could assist in creating a designer plugin with a custom component (maybe one of the File->New options does that, but so far I could not find a way and was only able to do that by hand-writing the aforementioned code, using LONG tutorials from the internet). In many cases it is sufficient to edit windows and custom components separately and you don't need a perfect preview of the component in the window. Right now, you can handle this use-case by adding a QWidget to your window and "promoting" it to the class you want. However, this "promotion" gives you a Remember-and-type UI, where you even have to tell it the location of the header file (without an option to browse). This requires you to know the directory structure of your project more than it should IMHO. I mean creator _manages the directory structure for you_, so why does it require you to know that? IMHO, when a project is opened, creator should scan for any classes derived from QWidget and put them in a Read-and-select UI for QWidget promotion... Or even better - it could put items for them into the designers component-tree (so you can just drag-n-drop them into your windows). Also double-clicking on a button should not edit the caption, but take you to "its clicked slot" (where it goes when you right-click -> go to slot -> clicked). This drove me crazy when I used Qt for the first time. -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 144331 B From jeanmichael.celerier at gmail.com Wed Jan 4 12:39:33 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Wed, 4 Jan 2017 12:39:33 +0100 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <9c77f830-1474-ef20-0506-0b3ec07b8ddb@qt.io> References: <1483354543.492862223@f432.i.mail.ru> <1662067.dKGuqbcK4k@tjmaciei-mobl1> <9c77f830-1474-ef20-0506-0b3ec07b8ddb@qt.io> Message-ID: On Wed, Jan 4, 2017 at 11:58 AM, Viktor Engelmann wrote: > > Custom components in Qt are just QWidget derivates and they can be taken > from a designer plugin. This requires some extra code for making them > findable (+give them an icon and name etc.) and plugins are technically > shared libraries. This explains very clearly why recompiling a custom > component requires a restart if we want a perfect preview like in .net, > but I still think that there is a lot of room for improvement. Something that would, I think, boost the usage of the designer is to skip the "recompilation" part and just have something that scans your code and interprets the C++ instead of compiling it, with something like https://github.com/RuntimeCompiledCPlusPlus/ RuntimeCompiledCPlusPlus . You would just add some metadata to your Widget with Q_CLASSINFO("DesignerName", "My widget"), the code looks for classes with this specific key, "compiles" it and adds it to the designer. -------------- next part -------------- An HTML attachment was scrubbed... URL: From philwave at gmail.com Wed Jan 4 13:53:45 2017 From: philwave at gmail.com (Philippe) Date: Wed, 04 Jan 2017 13:53:45 +0100 Subject: [Interest] Qt 5.8 crashes in QMacAutoReleasePool on Mac Message-ID: <20170104135345.A065.6F0322A@gmail.com> Where there any change in 5.8 concerning the embedding of native cocoa windows? Since I switched from 5.7 to 5.8, I get a crash inside QMacAutoReleasePool::~QMacAutoReleasePool whenever I close the top level window containing the native cocoa window. Philippe From thiago.macieira at intel.com Wed Jan 4 15:12:48 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 04 Jan 2017 12:12:48 -0200 Subject: [Interest] Where are the pkgconfig files for Qt5.7 (mac)? In-Reply-To: References: Message-ID: <1735182.vTCYkQ8GGz@tjmaciei-mobl1> On quarta-feira, 4 de janeiro de 2017 14:35:07 BRST Aaron Lewis wrote: > What should I do now? I don't want to compile Qt5 with homebrew You should stop using pkg-config. It's not really made for Mac frameworks. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Wed Jan 4 15:16:59 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 04 Jan 2017 12:16:59 -0200 Subject: [Interest] Platform dependent *.qrc entries In-Reply-To: References: <3390396.IDjN44xD74@tjmaciei-mobl1> Message-ID: <2136768.UEpytQxKK2@tjmaciei-mobl1> On quarta-feira, 4 de janeiro de 2017 06:13:33 BRST Rainer Wiesenfarth wrote: > 2017-01-03 23:50 GMT+01:00 Thiago Macieira : > > On terça-feira, 3 de janeiro de 2017 21:31:52 BRST Bernhard B wrote: > > RESOURCES += common.qrc > > android: RESOURCES += android.qrc > > ios: RESOURCES += ios.qrc > > ​Probably as this does not make it obvious for a developer that she has to > add a version of a platform dependent resource to _all_ platform resource > files?​ Ok, then create a resource pre-compiler. Write your own script that assembles a .qrc file from whichever sources you want, then produces the .qrc file. Add this precompiler as a qmake extra compiler whose output is the RESOURCES variable. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From gourmand at inbox.ru Wed Jan 4 15:32:00 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Wed, 04 Jan 2017 17:32:00 +0300 Subject: [Interest] =?utf-8?q?_QtDesigner_needs_redesign=2E?= Message-ID: <1483540319.254198396@f370.i.mail.ru> Среда, 4 января 2017, 14:39 +03:00 от Jean-Michaël Celerier < jeanmichael.celerier at gmail.com >: > > >On Wed, Jan 4, 2017 at 11:58 AM, Viktor Engelmann < viktor.engelmann at qt.io > wrote: >> >>Custom components in Qt are just QWidget derivates and they can be taken >>from a designer plugin. This requires some extra code for making them >>findable (+give them an icon and name etc.) and plugins are technically >>shared libraries. This explains very clearly why recompiling a custom >>component requires a restart if we want a perfect preview like in .net, >>but I still think that there is a lot of room for improvement. > >Something that would, I think, boost the usage of the designer is to skip the "recompilation" part >and just have something that scans your code and interprets the C++ instead of compiling it, with >something like https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus . > >You would just add some metadata to your Widget with Q_CLASSINFO("DesignerName", "My widget"), >the code looks for classes with this specific key, "compiles" it and adds it to the designer. And how implementation ot this differs from clean rebuild? Plugin is a shared library with some specific macros - these macros already are related to Designer and nothing else. And pluign contains specific C++ code to be supported by Designer. Even entire additional class with set of mandatory methods needed for each plugin main class. And plugin can depend from other files including resources and so on. Which one another "compiler" should process this all? Isn't that a "micros..t-like-way" to build monstrous and expensive tools? OH, NO! Exactly plugin auto reloading feature needed for Designer. It is much more simpler and powerful that add just another one macro and create another one compiler. But... this cannot help with other annoying issue when developing plugins. Even Designer custom plugins need to be debugged. Now in "designer mode" even qDebug() doesn't work. Nothing to say about interactive debugger. It doesn't work for plugins loaded to Designer. The only way to debug is - include QMessageBox() and hope the QtCreator won't crash. Yes... it crashes if Designer plugin contains errors. It crashes immediately if you just call QMessageBox() in paintEvent() of custom plugin. I developed custom extended plugin based on QSlider. It allows load SVG animated images for groove and knob and has some other useful features (they cannot be implemented using stylesheets). First time when running in application it looked very different from when it was run in Designer. Yes - application and designed worked on different platforms. I killed lot of time (about week) to understand why they are different and how I must fix this. Without ANY debugging options while plugin runs in Designer. I had to explore source code of several Qt internal classes to understand how this works. But with normal debugging feature I would find solution within minutes. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Wed Jan 4 16:43:39 2017 From: jhihn at gmx.com (Jason H) Date: Wed, 4 Jan 2017 16:43:39 +0100 Subject: [Interest] QML dir hierarchy Message-ID: I am cross posting this to QtC and Interest because it's a combinational issue. My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. Given: qml.qrc / - app.js - Screen1.qml - Component1.qml - Screen1.qml - Component3.qml - Component4.qml - Screen1.qml - Component2.qml I'd like to break it down into: qml.qrc / - Screens / -- Screen1.qml -- Screen1.qml -- Screen1.qml - Components / -- Comoponent1.qml -- Comoponent2.qml But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries: and However this resulted in errors. Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... components/Component1.qml ... How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. From schluchti at gmail.com Wed Jan 4 20:46:29 2017 From: schluchti at gmail.com (Bernhard B) Date: Wed, 4 Jan 2017 20:46:29 +0100 Subject: [Interest] Platform dependent *.qrc entries In-Reply-To: <2136768.UEpytQxKK2@tjmaciei-mobl1> References: <3390396.IDjN44xD74@tjmaciei-mobl1> <2136768.UEpytQxKK2@tjmaciei-mobl1> Message-ID: Hi, thanks a lot for all the great suggestions. I like the idea of having platform specific resource files (android.qrc, ios.qrc). I don't know why I didn't thought about that in the first place, but it's actually a really nice idea. I think I will try that one first. Thanks all for your help, really appreciated! Have a nice day, Bernhard 2017-01-04 15:16 GMT+01:00 Thiago Macieira : > On quarta-feira, 4 de janeiro de 2017 06:13:33 BRST Rainer Wiesenfarth > wrote: > > 2017-01-03 23:50 GMT+01:00 Thiago Macieira : > > > On terça-feira, 3 de janeiro de 2017 21:31:52 BRST Bernhard B wrote: > > > RESOURCES += common.qrc > > > android: RESOURCES += android.qrc > > > ios: RESOURCES += ios.qrc > > > > ​Probably as this does not make it obvious for a developer that she has > to > > add a version of a platform dependent resource to _all_ platform resource > > files?​ > > Ok, then create a resource pre-compiler. Write your own script that > assembles > a .qrc file from whichever sources you want, then produces the .qrc file. > Add > this precompiler as a qmake extra compiler whose output is the RESOURCES > variable. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tony at rightsoft.com.au Thu Jan 5 01:13:24 2017 From: tony at rightsoft.com.au (Tony Rietwyk) Date: Thu, 5 Jan 2017 11:13:24 +1100 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <1483540319.254198396@f370.i.mail.ru> References: <1483540319.254198396@f370.i.mail.ru> Message-ID: <006501d266e8$88941e60$99bc5b20$@rightsoft.com.au> Hi Serge, I agree that it's painful not having a debug build of Qt Designer provided pre-built. It might make using custom widgets a bit easier. You need to thoroughly debug your widget in the application BEFORE you try to load and use it in Designer. If the widget relies on other resources (like images eg), then they need to be setup and available in the interface initialize routine as well. My problems with Qt Designer: 1) Custom widgets are not included in the list of widgets to promote from. 2) Unable to configure designer settings to load style sheets - even just one style file would do! 3) No way to provide a base class for generated ui classes. Regards, Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From mail at jiyuusoft.net Thu Jan 5 07:16:48 2017 From: mail at jiyuusoft.net (=?ISO-8859-1?Q?Charles-=C9lie_G?=) Date: Thu, 05 Jan 2017 07:16:48 +0100 Subject: [Interest] QML dir hierarchy Message-ID: Hi, And if you create this folder and move the files into ? Bye Charlie Envoyé de mon Galaxy S6 Orange -------- Message d'origine --------De : Jason H Date : 04/01/2017 16:43 (GMT+01:00) À : "interestqt-project.org" , qt-creator Objet : [Interest] QML dir hierarchy I am cross posting this to QtC and Interest because it's a combinational issue. My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. Given: qml.qrc / - app.js - Screen1.qml - Component1.qml - Screen1.qml - Component3.qml - Component4.qml - Screen1.qml - Component2.qml I'd like to break it down into: qml.qrc / - Screens / -- Screen1.qml -- Screen1.qml -- Screen1.qml - Components / -- Comoponent1.qml -- Comoponent2.qml But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries:  and  However this resulted in errors. Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... components/Component1.qml ... How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre at familiesomers.nl Thu Jan 5 08:53:39 2017 From: andre at familiesomers.nl (=?UTF-8?Q?Andr=c3=a9_Somers?=) Date: Thu, 5 Jan 2017 08:53:39 +0100 Subject: [Interest] QtDesigner needs redesign. In-Reply-To: <1483540319.254198396@f370.i.mail.ru> References: <1483540319.254198396@f370.i.mail.ru> Message-ID: <6b8cc351-6a94-1ef6-4b74-e68bb63a92ae@familiesomers.nl> Hi, While I agree that the current plugin system is not convenient, I don't get why you would spend a week with QDialogBox-debugging instead of building your own Qt Designer in debug mode and run that in a debugger against plugins also build in debug mode? André Op 04/01/2017 om 15:32 schreef Serge K via Interest: > Среда, 4 января 2017, 14:39 +03:00 от Jean-Michaël Celerier > >: > > > > On Wed, Jan 4, 2017 at 11:58 AM, Viktor Engelmann > > wrote: > > > Custom components in Qt are just QWidget derivates and they > can be taken > from a designer plugin. This requires some extra code for > making them > findable (+give them an icon and name etc.) and plugins are > technically > shared libraries. This explains very clearly why recompiling a > custom > component requires a restart if we want a perfect preview like > in .net, > but I still think that there is a lot of room for improvement. > > > Something that would, I think, boost the usage of the designer is > to skip the "recompilation" part > and just have something that scans your code and interprets the > C++ instead of compiling it, with > something like > https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus . > > You would just add some metadata to your Widget with > Q_CLASSINFO("DesignerName", "My widget"), > the code looks for classes with this specific key, "compiles" it > and adds it to the designer. > > > And how implementation ot this differs from clean rebuild? Plugin is a > shared library with some specific macros - these macros already are > related to Designer and nothing else. And pluign contains specific C++ > code to be supported by Designer. Even entire additional class with > set of mandatory methods needed for each plugin main class. And plugin > can depend from other files including resources and so on. Which one > another "compiler" should process this all? Isn't that a > "micros..t-like-way" to build monstrous and expensive tools? OH, NO! > > Exactly plugin auto reloading feature needed for Designer. It is much > more simpler and powerful that add just another one macro and create > another one compiler. But... this cannot help with other annoying > issue when developing plugins. Even Designer custom plugins need to be > debugged. Now in "designer mode" even qDebug() doesn't work. Nothing > to say about interactive debugger. It doesn't work for plugins loaded > to Designer. The only way to debug is - include QMessageBox() and hope > the QtCreator won't crash. Yes... it crashes if Designer plugin > contains errors. It crashes immediately if you just call QMessageBox() > in paintEvent() of custom plugin. I developed custom extended plugin > based on QSlider. It allows load SVG animated images for groove and > knob and has some other useful features (they cannot be implemented > using stylesheets). First time when running in application it looked > very different from when it was run in Designer. Yes - application and > designed worked on different platforms. I killed lot of time (about > week) to understand why they are different and how I must fix this. > Without ANY debugging options while plugin runs in Designer. I had to > explore source code of several Qt internal classes to understand how > this works. But with normal debugging feature I would find solution > within minutes. > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From Even.Kristoffersen at Honeywell.com Thu Jan 5 09:07:24 2017 From: Even.Kristoffersen at Honeywell.com (Kristoffersen, Even (NO14)) Date: Thu, 5 Jan 2017 08:07:24 +0000 Subject: [Interest] QML dir hierarchy In-Reply-To: References: Message-ID: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com> Try putting your QML files in subfolders. You will probably want to do this sooner or later anyway to keep your source tree manageable as the project grows. Just beware that you then have to import the folder of the components you are using from within the QML files unless they are in the same folder. IE. import "../Components" from your screen files. -Even -----Original Message----- From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Jason H Sent: 4. januar 2017 16:44 To: interestqt-project.org ; qt-creator Subject: [Interest] QML dir hierarchy I am cross posting this to QtC and Interest because it's a combinational issue. My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. Given: qml.qrc / - app.js - Screen1.qml - Component1.qml - Screen1.qml - Component3.qml - Component4.qml - Screen1.qml - Component2.qml I'd like to break it down into: qml.qrc / - Screens / -- Screen1.qml -- Screen1.qml -- Screen1.qml - Components / -- Comoponent1.qml -- Comoponent2.qml But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries: and However this resulted in errors. Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... components/Component1.qml ... How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From ekke at ekkes-corner.org Thu Jan 5 09:31:13 2017 From: ekke at ekkes-corner.org (ekke) Date: Thu, 5 Jan 2017 09:31:13 +0100 Subject: [Interest] QML dir hierarchy In-Reply-To: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com> References: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com> Message-ID: <5b9e6473-8fc8-b41d-7e42-f65454ceb824@ekkes-corner.org> Am 05.01.17 um 09:07 schrieb Kristoffersen, Even (NO14): > Try putting your QML files in subfolders. > You will probably want to do this sooner or later anyway to keep your source tree manageable as the project grows. > > Just beware that you then have to import the folder of the components you are using from within the QML files unless they are in the same folder. > IE. import "../Components" from your screen files. it's the same I'm doing in my projects Jason, please take a look at QtWorldSummit Conference App https://github.com/ekke/c2gQtWS_x ekke > > -Even > > -----Original Message----- > From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Jason H > Sent: 4. januar 2017 16:44 > To: interestqt-project.org ; qt-creator > Subject: [Interest] QML dir hierarchy > > I am cross posting this to QtC and Interest because it's a combinational issue. > > My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. > Given: > > qml.qrc / > - app.js > - Screen1.qml > - Component1.qml > - Screen1.qml > - Component3.qml > - Component4.qml > - Screen1.qml > - Component2.qml > > I'd like to break it down into: > qml.qrc / > - Screens / > -- Screen1.qml > -- Screen1.qml > -- Screen1.qml > - Components / > -- Comoponent1.qml > -- Comoponent2.qml > > But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries: and However this resulted in errors. > > Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... > components/Component1.qml > ... > > How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From Even.Kristoffersen at Honeywell.com Thu Jan 5 09:58:31 2017 From: Even.Kristoffersen at Honeywell.com (Kristoffersen, Even (NO14)) Date: Thu, 5 Jan 2017 08:58:31 +0000 Subject: [Interest] QML dir hierarchy In-Reply-To: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com> References: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com> Message-ID: <92000C074E92194CB9110465E5C338BE57739229@de08ex3001.global.ds.honeywell.com> Note, this won't help with the QRC view unfortunately, it will still display as path list instead of folderized. If you want to keep using the QRC view only then you have to use prefix as you mentioned, but I believe you have to import the prefix. Maybe this was the cause of the error you saw. Another option is to use the OTHER_FILES option in your .pro file. OTHER_FILES += \ RES/qml/*.qml \ RES/qml/Components/*.qml \ RES/qml/Screens/*.qml This will add a folderized QML folder in your project explorer. -Even -----Original Message----- From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Kristoffersen, Even (NO14) Sent: 5. januar 2017 09:07 To: interestqt-project.org ; qt-creator Subject: Re: [Interest] QML dir hierarchy Try putting your QML files in subfolders. You will probably want to do this sooner or later anyway to keep your source tree manageable as the project grows. Just beware that you then have to import the folder of the components you are using from within the QML files unless they are in the same folder. IE. import "../Components" from your screen files. -Even -----Original Message----- From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Jason H Sent: 4. januar 2017 16:44 To: interestqt-project.org ; qt-creator Subject: [Interest] QML dir hierarchy I am cross posting this to QtC and Interest because it's a combinational issue. My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. Given: qml.qrc / - app.js - Screen1.qml - Component1.qml - Screen1.qml - Component3.qml - Component4.qml - Screen1.qml - Component2.qml I'd like to break it down into: qml.qrc / - Screens / -- Screen1.qml -- Screen1.qml -- Screen1.qml - Components / -- Comoponent1.qml -- Comoponent2.qml But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries: and However this resulted in errors. Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... components/Component1.qml ... How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From eskil.abrahamsen-blomfeldt at qt.io Thu Jan 5 10:10:45 2017 From: eskil.abrahamsen-blomfeldt at qt.io (Eskil Abrahamsen Blomfeldt) Date: Thu, 5 Jan 2017 10:10:45 +0100 Subject: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" In-Reply-To: <1F4FFD6475560E42951A2243003FADD272F523@OCSRVEX.oculus.de> References: <1F4FFD6475560E42951A2243003FADD272F523@OCSRVEX.oculus.de> Message-ID: Den 03.01.2017 17:54, skrev Wassmuth, Christian: > Hallo, > > I've tried to build Qt for android from the 5.8 branch in git. The build succeeded without error, but when I try to run an app against this version, I get the following error: > > F libuntitled1.so: kernel/qguiapplication.cpp:1132 (void init_platform(const QString&, const QString&, const QString&, int&, char**)): This application failed to start because it could not find or load the Qt platform plugin "android" > F libuntitled1.so: in "". > > Does anyone know what caused this error? > The prebuild 5.7 android package runs well. > > The Qt configuration was: > ./configure -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/oculus/android-ndk-r13b -android-sdk /home/oculus/android-sdk -android-ndk-host linux-x86_64 -android-toolchain-version 4.9 -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -skip qtwebengine -no-warnings-are-errors -confirm-license -opensource -developer-build -opengl es2 -shared -qpa android Hi, In Android NDK r11 and up there is a bug in GCC which causes this to happen, so in order to compile Qt, you have to use Android NDK r10e. Since Google has deprecated GCC now, they do not intend to fix this problem, but their replacement, clang, currently creates too large binaries to be usable for us. They are looking into this problem, though. You can follow and join the discussion here: https://github.com/android-ndk/ndk/issues/67 Also, see known issues in Android here: https://wiki.qt.io/Qt_for_Android_known_issues -- Eskil Abrahamsen Blomfeldt Senior Manager, R&D The Qt Company Sandakerveien 116 0484 Oslo, Norway eskil.abrahamsen-blomfeldt at qt.io http://qt.io From nunosantos at imaginando.pt Thu Jan 5 10:14:32 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Thu, 5 Jan 2017 09:14:32 +0000 Subject: [Interest] QML dir hierarchy In-Reply-To: <92000C074E92194CB9110465E5C338BE57739229@de08ex3001.global.ds.honeywell.com> References: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com> <92000C074E92194CB9110465E5C338BE57739229@de08ex3001.global.ds.honeywell.com> Message-ID: <40DB1B5B-555F-4BDA-9C57-D6A3AA91AD14@imaginando.pt> Keep your qml resources inside folders / /resources /resources/icons /resources/images /resources/qml /resources/fonts create a .qrc file on the .pro dir or inside resources. Open .qrc with editor and choose to add existing files. Select the files inside the dirs (icons, images, qml, fonts). The files will automatically be added with the respective paths as prefix. > On 05 Jan 2017, at 08:58, Kristoffersen, Even (NO14) wrote: > > Note, this won't help with the QRC view unfortunately, it will still display as path list instead of folderized. > > If you want to keep using the QRC view only then you have to use prefix as you mentioned, but I believe you have to import the prefix. Maybe this was the cause of the error you saw. > > Another option is to use the OTHER_FILES option in your .pro file. > > OTHER_FILES += \ > RES/qml/*.qml \ > RES/qml/Components/*.qml \ > RES/qml/Screens/*.qml > > This will add a folderized QML folder in your project explorer. > > > -Even > > -----Original Message----- > From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Kristoffersen, Even (NO14) > Sent: 5. januar 2017 09:07 > To: interestqt-project.org ; qt-creator > Subject: Re: [Interest] QML dir hierarchy > > Try putting your QML files in subfolders. > You will probably want to do this sooner or later anyway to keep your source tree manageable as the project grows. > > Just beware that you then have to import the folder of the components you are using from within the QML files unless they are in the same folder. > IE. import "../Components" from your screen files. > > -Even > > -----Original Message----- > From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Jason H > Sent: 4. januar 2017 16:44 > To: interestqt-project.org ; qt-creator > Subject: [Interest] QML dir hierarchy > > I am cross posting this to QtC and Interest because it's a combinational issue. > > My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. > Given: > > qml.qrc / > - app.js > - Screen1.qml > - Component1.qml > - Screen1.qml > - Component3.qml > - Component4.qml > - Screen1.qml > - Component2.qml > > I'd like to break it down into: > qml.qrc / > - Screens / > -- Screen1.qml > -- Screen1.qml > -- Screen1.qml > - Components / > -- Comoponent1.qml > -- Comoponent2.qml > > But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries: and However this resulted in errors. > > Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... > components/Component1.qml > ... > > How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From gourmand at inbox.ru Thu Jan 5 11:34:32 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Thu, 05 Jan 2017 13:34:32 +0300 Subject: [Interest] =?utf-8?q?QtDesigner_needs_redesign=2E?= In-Reply-To: <6b8cc351-6a94-1ef6-4b74-e68bb63a92ae@familiesomers.nl> References: <1483540319.254198396@f370.i.mail.ru> <6b8cc351-6a94-1ef6-4b74-e68bb63a92ae@familiesomers.nl> Message-ID: <1483612472.518675395@f257.i.mail.ru> I just didn't imagine that will take too much time. >Четверг, 5 января 2017, 10:53 +03:00 от André Somers : > >Hi, >While I agree that the current plugin system is not convenient, I don't get why you would spend a week with QDialogBox-debugging instead of building your own Qt Designer in debug mode and run that in a debugger against plugins also build in debug mode? >André > >Op 04/01/2017 om 15:32 schreef Serge K via Interest: >>Среда, 4 января 2017, 14:39 +03:00 от Jean-Michaël Celerier < jeanmichael.celerier at gmail.com >: >>> >>> >>>On Wed, Jan 4, 2017 at 11:58 AM, Viktor Engelmann < viktor.engelmann at qt.io > wrote: >>>> >>>>Custom components in Qt are just QWidget derivates and they can be taken >>>>from a designer plugin. This requires some extra code for making them >>>>findable (+give them an icon and name etc.) and plugins are technically >>>>shared libraries. This explains very clearly why recompiling a custom >>>>component requires a restart if we want a perfect preview like in .net, >>>>but I still think that there is a lot of room for improvement. >>> >>>Something that would, I think, boost the usage of the designer is to skip the "recompilation" part >>>and just have something that scans your code and interprets the C++ instead of compiling it, with >>>something like https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus . >>> >>>You would just add some metadata to your Widget with Q_CLASSINFO("DesignerName", "My widget"), >>>the code looks for classes with this specific key, "compiles" it and adds it to the designer. >>And how implementation ot this differs from clean rebuild? Plugin is a shared library with some specific macros - these macros already are related to Designer and nothing else. And pluign contains specific C++ code to be supported by Designer. Even entire additional class with set of mandatory methods needed for each plugin main class. And plugin can depend from other files including resources and so on. Which one another "compiler" should process this all? Isn't that a "micros..t-like-way" to build monstrous and expensive tools? OH, NO! >> >>Exactly plugin auto reloading feature needed for Designer. It is much more simpler and powerful that add just another one macro and create another one compiler. But... this cannot help with other annoying issue when developing plugins. Even Designer custom plugins need to be debugged. Now in "designer mode" even qDebug() doesn't work. Nothing to say about interactive debugger. It doesn't work for plugins loaded to Designer. The only way to debug is - include QMessageBox() and hope the QtCreator won't crash. Yes... it crashes if Designer plugin contains errors. It crashes immediately if you just call QMessageBox() in paintEvent() of custom plugin. I developed custom extended plugin based on QSlider. It allows load SVG animated images for groove and knob and has some other useful features (they cannot be implemented using stylesheets). First time when running in application it looked very different from when it was run in Designer. Yes - application and designed worked on different platforms. I killed lot of time (about week) to understand why they are different and how I must fix this. Without ANY debugging options while plugin runs in Designer. I had to explore source code of several Qt internal classes to understand how this works. But with normal debugging feature I would find solution within minutes. >> >>_______________________________________________ Interest mailing list >>Interest at qt-project.org >>http://lists.qt-project.org/mailman/listinfo/interest > >_______________________________________________ >Interest mailing list >Interest at qt-project.org >http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From gourmand at inbox.ru Thu Jan 5 11:37:51 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Thu, 05 Jan 2017 13:37:51 +0300 Subject: [Interest] =?utf-8?q?QtDesigner_needs_redesign=2E?= In-Reply-To: <006501d266e8$88941e60$99bc5b20$@rightsoft.com.au> References: <1483540319.254198396@f370.i.mail.ru> <006501d266e8$88941e60$99bc5b20$@rightsoft.com.au> Message-ID: <1483612671.881226885@f245.i.mail.ru> 5 Jan 2017, 3:13 +03:00 от "Tony Rietwyk" : > >You need to thoroughly debug your widget in the application BEFORE you try to load and use it in Designer. Exactly at first I've got plugin in application working fine but in Designer it's image was corrupted. I thought it wouldn't be a problem fix it. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ib-marotzke at t-online.de Thu Jan 5 12:04:32 2017 From: ib-marotzke at t-online.de (Donald Marotzke) Date: Thu, 5 Jan 2017 12:04:32 +0100 Subject: [Interest] Qt3D - Uniform value arrays In-Reply-To: <3dc330c2-4156-4316-d33a-fab7a5703851@t-online.de> References: <3dc330c2-4156-4316-d33a-fab7a5703851@t-online.de> Message-ID: With the help of the Qt3D source code, especially the file uniform.cpp, I found out that the type of uniform should be QVariantList for uniform value arrays. It should work with arrays of float, all types compound of floats as QColor and possibly with all types which have the same byte size as float like int. Unfortunately I can't get it to work. I set a breakpoint in UniformValue::fromVariant and saw that my data was copied, but it never arrived in the shader. Has anybody used it before or is this a bug? Btw at the moment I'm using Qt 5.8.0 rc. Donald From rjvbertin at gmail.com Thu Jan 5 12:52:44 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Thu, 05 Jan 2017 12:52:44 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac Message-ID: <2379582.oSZucE7YbU@portia.local> Hi, I'm noticing a different in the handling of Command+Shift shortcuts on Mac, after upgrading to Qt 5.7.1 Pre-existing shortcuts like Command+Shift+, for Command-< continue to show up as Command-< (<) but they no longer function. When I try to re-record them, the Shift modifier is dropped and I see Command-, instead. Though the Shift modifier is apparently taken into account at some level the shortcut still doesn't work. Is this purely a change in Qt5, or should I be looking at a change somewhere in a KF5 framework (I upgraded to 5.29.0 not long before upgrading Qt). I'm not noticing any differences under X11, btw., using almost identical builds. R. From c.wassmuth at oculus.de Thu Jan 5 13:55:07 2017 From: c.wassmuth at oculus.de (Wassmuth, Christian) Date: Thu, 5 Jan 2017 12:55:07 +0000 Subject: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" In-Reply-To: References: <1F4FFD6475560E42951A2243003FADD272F523@OCSRVEX.oculus.de> Message-ID: <1F4FFD6475560E42951A2243003FADD272F928@OCSRVEX.oculus.de> I think that was exactly my problem. I fool read the known issues page and noticed the recommendation for the r10e ndk, because of the bug in r11. But I thought that newer ndk are not affected and I expected a compile error, instead of the runtime error. Apparently the bug doesn't show up in every build. With the same ndk I built 5.7.1 and 5.8.0-rc1 which worked. Then pulled 5.8 back again and now even this build runs well. Thank you for your help! -----Original Message----- From: Interest [mailto:interest-bounces+c.wassmuth=oculus.de at qt-project.org] On Behalf Of Eskil Abrahamsen Blomfeldt Sent: Thursday, January 05, 2017 10:11 AM To: interest at qt-project.org Subject: Re: [Interest] Android: This application failed to start because it could not find or load the Qt platform plugin "android" Hi, In Android NDK r11 and up there is a bug in GCC which causes this to happen, so in order to compile Qt, you have to use Android NDK r10e. Since Google has deprecated GCC now, they do not intend to fix this problem, but their replacement, clang, currently creates too large binaries to be usable for us. They are looking into this problem, though. You can follow and join the discussion here: https://github.com/android-ndk/ndk/issues/67 Also, see known issues in Android here: https://wiki.qt.io/Qt_for_Android_known_issues -- Eskil Abrahamsen Blomfeldt Senior Manager, R&D The Qt Company Sandakerveien 116 0484 Oslo, Norway eskil.abrahamsen-blomfeldt at qt.io http://qt.io _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From konstantin at podsvirov.pro Thu Jan 5 14:44:57 2017 From: konstantin at podsvirov.pro (Konstantin Podsvirov) Date: Thu, 05 Jan 2017 16:44:57 +0300 Subject: [Interest] [WARNING] download.qt.io is not answer! Message-ID: <10738811483623897@web6h.yandex.ru> An HTML attachment was scrubbed... URL: From hg at technosis.de Thu Jan 5 15:41:47 2017 From: hg at technosis.de (hg at technosis.de) Date: Thu, 5 Jan 2017 15:41:47 +0100 Subject: [Interest] Failed first try with Qt on Android Message-ID: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> Hi, I just started to evaluate Qt on Android and I'm unfortunately stuck in the beginning. Maybe someone has a hint for me. The problem: When running a new Hello World Project or a standard Qt example (for instance: org.qtproject.example.samegame) from QtCreator it tries to start the app and and after a while outputs: "org.qtproject.example.samegame" died. Logcat shows the following log from the android device (oneplusone). ==================================================================== 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<< 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: register_android_hardware_Radio DONE 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry com.android.commands.am.Am 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: org.qtproject.example.samegame 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM ===================================================================== Invalid packageName? I'm confused. When using an AVD it does not work either. When using the desktop kit the example app works fine. No problem building and running a Hello Word Standard Project with Android Studio on the device. Here is my setup: Ubuntu 14.04 LTS 64bit. JDK Oracle 1.8.0_101 NDK r10e Android Studio 2.2.3 with SDK installed qt-opensource-linux-x64-android-5.7.1.run The QtCreator android kits were automatically created. The apk is successfully build for armeabi-v7a Any idea? Regards, Heiko From imikejackson at gmail.com Thu Jan 5 15:43:26 2017 From: imikejackson at gmail.com (Mike Jackson) Date: Thu, 05 Jan 2017 09:43:26 -0500 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app Message-ID: <586E5B8E.6050308@gmail.com> After watching the webinar "The Curse of Choice: An overview of GUI technologies in Qt?"[1] I am even more confused as to what to use for our new desktop app. Here are a few of the background details. The app will be cross platform to desktop systems, not embedded at all. The app will be displaying some "image" data from hdf5 files and performing some "real" time basic image manipulations (gamma corrections, coloring of data) on that data. The app will eventually call out to some existing libraries to perform some long running analysis/simulations. We are currently using Qt 5.6.2 due to its long term maintenance guarantees. In the past I have used QGraphics* classes to show images and perform basic zoom, save, compositing functions but the webinar makes it pretty clear NOT to use those classes any more. The webinar seems to push QML and the Qt Quick classes as the way forward for desktop apps. One of the issues that we might have with QML is the need to apply styling to those widgets, none of us are UX/Styling experts by any stretch of the imagination. I took a look at QOpenGLWidget to display/manipulate the images so that we get an accelerated canvas to use. That looked promising in combination with traditional QWidgets. I would like to hear other peoples experiences & suggestions as to what they are doing. I don't want to write the app and then have to figure out how to port it to another Qt technology in a year or so after our funding has run out. Thanks for any/all comments. [1] https://cdn2.hubspot.net/hubfs/149513/QtWS16%20Webinars/The%20Curse%20of%20Choice-%20An%20overview%20of%20GUI%20technologies%20in%20Qt.mp4?utm_campaign=QtWS16+Webinars&utm_source=hs_automation&utm_medium=email&utm_content=38349957&_hsenc=p2ANqtz-_OQYaCO6wb88VHD74o0lNXfMmleVTmkD0xK0R42_e8YaWPrimIoWHLQlM0VzYmf-U_A4EAMiWaVH9__M0EMX190Ih57w&_hsmi=38349957 -- Mike Jackson [mike.jackson at bluequartz.net] From jhihn at gmx.com Thu Jan 5 15:59:12 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 15:59:12 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> Message-ID: I haven't seen this error in a while, but it is pointing to a mismatch between what is in the manifest and the APK. Also see https://bugreports.qt.io/browse/QTCREATORBUG-12009 It should not be happening, but maybe that will point you in the right direction. > Sent: Thursday, January 05, 2017 at 9:41 AM > From: "hg at technosis.de" > To: interest at qt-project.org > Subject: [Interest] Failed first try with Qt on Android > > Hi, > > I just started to evaluate Qt on Android and I'm unfortunately stuck in > the beginning. Maybe someone has a hint for me. > > The problem: When running a new Hello World Project or a standard Qt > example (for instance: org.qtproject.example.samegame) from QtCreator it > tries to start the app and and after a while outputs: > "org.qtproject.example.samegame" died. > > Logcat shows the following log from the android device (oneplusone). > ==================================================================== > 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START > com.android.internal.os.RuntimeInit uid 2000 <<<<<< > 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF > 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: > /data/misc/zoneinfo/current/icu/icu_tzdata.dat > 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: > register_android_hardware_Radio DONE > 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry > com.android.commands.am.Am > 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: > org.qtproject.example.samegame > 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM > ===================================================================== > Invalid packageName? I'm confused. > > When using an AVD it does not work either. > When using the desktop kit the example app works fine. > > No problem building and running a Hello Word Standard Project with > Android Studio on the device. > > Here is my setup: > > Ubuntu 14.04 LTS 64bit. > JDK Oracle 1.8.0_101 > NDK r10e > Android Studio 2.2.3 with SDK installed > qt-opensource-linux-x64-android-5.7.1.run > > The QtCreator android kits were automatically created. > The apk is successfully build for armeabi-v7a > > Any idea? > > Regards, > Heiko > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From jhihn at gmx.com Thu Jan 5 16:03:56 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 16:03:56 +0100 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: <586E5B8E.6050308@gmail.com> References: <586E5B8E.6050308@gmail.com> Message-ID: > After watching the webinar "The Curse of Choice: An overview of GUI > technologies in Qt?"[1] I am even more confused as to what to use for > our new desktop app. Here are a few of the background details. The app > will be cross platform to desktop systems, not embedded at all. The app > will be displaying some "image" data from hdf5 files and performing some > "real" time basic image manipulations (gamma corrections, coloring of > data) on that data. The app will eventually call out to some existing > libraries to perform some long running analysis/simulations. We are > currently using Qt 5.6.2 due to its long term maintenance guarantees. > > In the past I have used QGraphics* classes to show images and perform > basic zoom, save, compositing functions but the webinar makes it pretty > clear NOT to use those classes any more. The webinar seems to push QML > and the Qt Quick classes as the way forward for desktop apps. One of the > issues that we might have with QML is the need to apply styling to those > widgets, none of us are UX/Styling experts by any stretch of the > imagination. I took a look at QOpenGLWidget to display/manipulate the > images so that we get an accelerated canvas to use. That looked > promising in combination with traditional QWidgets. > > I would like to hear other peoples experiences & suggestions as to what > they are doing. I don't want to write the app and then have to figure > out how to port it to another Qt technology in a year or so after our > funding has run out. The mantra is to use QML. However I would recommend 5.7, since that has the new QtQuickControls 2, which addresses many issues with the original Qt Quick Controls, and has Layouts that you'll recognize. From jhihn at gmx.com Thu Jan 5 16:23:49 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 16:23:49 +0100 Subject: [Interest] [WARNING] download.qt.io is not answer! In-Reply-To: <10738811483623897@web6h.yandex.ru> References: <10738811483623897@web6h.yandex.ru> Message-ID: An HTML attachment was scrubbed... URL: From jhihn at gmx.com Thu Jan 5 16:28:12 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 16:28:12 +0100 Subject: [Interest] Firebase C++ with Qt In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Thu Jan 5 16:29:30 2017 From: bhood2 at comcast.net (Bob Hood) Date: Thu, 5 Jan 2017 08:29:30 -0700 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: References: <586E5B8E.6050308@gmail.com> Message-ID: <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> On 1/5/2017 8:03 AM, Jason H wrote: > The mantra is to use QML. I just wrote a wonderful utility using Qt 5.6.2 and Widgets for the desktop, and there's no hint of QML in it. It functions beautifully, is easily maintainable, and even has full animations. I don't think the mantra is QML. The mantra is: Look at your need, your goal, and choose the Qt technology that best fits it. If that's QML, fine. If that's Widgets, fine. Unless Qt reps step up here and support your statement (which will have ramifications for me and, I'm sure, many others), summarily stating to somebody that they should use QML as the primary tech for a new desktop app is, I think, dogmatic, at best, and continues to fuel the anxiety that Qt is pouring all the love into a QML/mobile focus. Just my $0.02. From jhihn at gmx.com Thu Jan 5 16:30:40 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 16:30:40 +0100 Subject: [Interest] QML dir hierarchy In-Reply-To: <5b9e6473-8fc8-b41d-7e42-f65454ceb824@ekkes-corner.org> References: <92000C074E92194CB9110465E5C338BE577391B5@de08ex3001.global.ds.honeywell.com>, <5b9e6473-8fc8-b41d-7e42-f65454ceb824@ekkes-corner.org> Message-ID: Awesome, thanks Ekke (and everyone else who chimed in!) > Sent: Thursday, January 05, 2017 at 3:31 AM > From: ekke > To: interest at qt-project.org > Subject: Re: [Interest] QML dir hierarchy > > Am 05.01.17 um 09:07 schrieb Kristoffersen, Even (NO14): > > Try putting your QML files in subfolders. > > You will probably want to do this sooner or later anyway to keep your source tree manageable as the project grows. > > > > Just beware that you then have to import the folder of the components you are using from within the QML files unless they are in the same folder. > > IE. import "../Components" from your screen files. > it's the same I'm doing in my projects > Jason, please take a look at QtWorldSummit Conference App > https://github.com/ekke/c2gQtWS_x > > ekke > > > > -Even > > > > -----Original Message----- > > From: Interest [mailto:interest-bounces+even.kristoffersen=honeywell.com at qt-project.org] On Behalf Of Jason H > > Sent: 4. januar 2017 16:44 > > To: interestqt-project.org ; qt-creator > > Subject: [Interest] QML dir hierarchy > > > > I am cross posting this to QtC and Interest because it's a combinational issue. > > > > My QML projects are getting sizable, I'd like to start breaking my QML resources down in a hierarchy, but my attempt at that has failed. > > Given: > > > > qml.qrc / > > - app.js > > - Screen1.qml > > - Component1.qml > > - Screen1.qml > > - Component3.qml > > - Component4.qml > > - Screen1.qml > > - Component2.qml > > > > I'd like to break it down into: > > qml.qrc / > > - Screens / > > -- Screen1.qml > > -- Screen1.qml > > -- Screen1.qml > > - Components / > > -- Comoponent1.qml > > -- Comoponent2.qml > > > > But I was not able to accomplish this in QtC. So I hacked the QRC file to have two prefix entries: and However this resulted in errors. > > > > Also, in QtC they weren't folderized, they just appeared as screens/Screen1.qml ... > > components/Component1.qml > > ... > > > > How can I accomplish a folderized QRC? Currently, the filesystem is flat, but I don't mind adding them to actual folders if that would help. > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From hg at technosis.de Thu Jan 5 16:31:05 2017 From: hg at technosis.de (hg at technosis.de) Date: Thu, 5 Jan 2017 16:31:05 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> Message-ID: <145ccff6-b89c-b48b-cc8c-bf2cc53eb63e@technosis.de> Thanks Jason, I have seen that bug. But there the created packagename was indeed invalid. Whereas "org.qtproject.example.samegame" is obviously valid. I think the error message is misleading and the result of something else. Since I do nothing else than standard qt setup build and run and nobody else seem to have this problem there must be something stupid I missed. Heiko Am 05.01.2017 um 15:59 schrieb Jason H: > I haven't seen this error in a while, but it is pointing to a mismatch between what is in the manifest and the APK. > Also see https://bugreports.qt.io/browse/QTCREATORBUG-12009 > It should not be happening, but maybe that will point you in the right direction. > > > >> Sent: Thursday, January 05, 2017 at 9:41 AM >> From: "hg at technosis.de" >> To: interest at qt-project.org >> Subject: [Interest] Failed first try with Qt on Android >> >> Hi, >> >> I just started to evaluate Qt on Android and I'm unfortunately stuck in >> the beginning. Maybe someone has a hint for me. >> >> The problem: When running a new Hello World Project or a standard Qt >> example (for instance: org.qtproject.example.samegame) from QtCreator it >> tries to start the app and and after a while outputs: >> "org.qtproject.example.samegame" died. >> >> Logcat shows the following log from the android device (oneplusone). >> ==================================================================== >> 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START >> com.android.internal.os.RuntimeInit uid 2000 <<<<<< >> 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF >> 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: >> /data/misc/zoneinfo/current/icu/icu_tzdata.dat >> 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: >> register_android_hardware_Radio DONE >> 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry >> com.android.commands.am.Am >> 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: >> org.qtproject.example.samegame >> 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM >> ===================================================================== >> Invalid packageName? I'm confused. >> >> When using an AVD it does not work either. >> When using the desktop kit the example app works fine. >> >> No problem building and running a Hello Word Standard Project with >> Android Studio on the device. >> >> Here is my setup: >> >> Ubuntu 14.04 LTS 64bit. >> JDK Oracle 1.8.0_101 >> NDK r10e >> Android Studio 2.2.3 with SDK installed >> qt-opensource-linux-x64-android-5.7.1.run >> >> The QtCreator android kits were automatically created. >> The apk is successfully build for armeabi-v7a >> >> Any idea? >> >> Regards, >> Heiko >> _______________________________________________ From nunosantos at imaginando.pt Thu Jan 5 16:33:15 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Thu, 5 Jan 2017 15:33:15 +0000 Subject: [Interest] Qt Purchasing on iOS and unique orderId on purchase Message-ID: <7D610F9F-0074-4371-B692-509FB612EDCD@imaginando.pt> Hi, Has anyone found a way of having a clear distinction between a purchase and a restore? From my testings I can only have restores when I choose to restore purchases, otherwise, a purchase of an item that has been previously bought, results in a purchase. I would like to notify purchases to have a clear tracking of revenue. Also, I’m trying to save the orderId in the server and it seems that the orderId is not unique on iOS. I found it constant in Android. Anyone has thoughts on this? Thanks! Nuno From jhihn at gmx.com Thu Jan 5 16:33:49 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 16:33:49 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <145ccff6-b89c-b48b-cc8c-bf2cc53eb63e@technosis.de> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> , <145ccff6-b89c-b48b-cc8c-bf2cc53eb63e@technosis.de> Message-ID: It might be, but what does your manifest say? > Sent: Thursday, January 05, 2017 at 10:31 AM > From: "hg at technosis.de" > To: interest at qt-project.org > Subject: Re: [Interest] Failed first try with Qt on Android > > Thanks Jason, I have seen that bug. But there the created packagename > was indeed invalid. Whereas "org.qtproject.example.samegame" is > obviously valid. > I think the error message is misleading and the result of something else. > Since I do nothing else than standard qt setup build and run and nobody > else seem to have this problem there must be something stupid I missed. > > Heiko > > Am 05.01.2017 um 15:59 schrieb Jason H: > > I haven't seen this error in a while, but it is pointing to a mismatch between what is in the manifest and the APK. > > Also see https://bugreports.qt.io/browse/QTCREATORBUG-12009 > > It should not be happening, but maybe that will point you in the right direction. > > > > > > > >> Sent: Thursday, January 05, 2017 at 9:41 AM > >> From: "hg at technosis.de" > >> To: interest at qt-project.org > >> Subject: [Interest] Failed first try with Qt on Android > >> > >> Hi, > >> > >> I just started to evaluate Qt on Android and I'm unfortunately stuck in > >> the beginning. Maybe someone has a hint for me. > >> > >> The problem: When running a new Hello World Project or a standard Qt > >> example (for instance: org.qtproject.example.samegame) from QtCreator it > >> tries to start the app and and after a while outputs: > >> "org.qtproject.example.samegame" died. > >> > >> Logcat shows the following log from the android device (oneplusone). > >> ==================================================================== > >> 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START > >> com.android.internal.os.RuntimeInit uid 2000 <<<<<< > >> 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF > >> 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: > >> /data/misc/zoneinfo/current/icu/icu_tzdata.dat > >> 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: > >> register_android_hardware_Radio DONE > >> 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry > >> com.android.commands.am.Am > >> 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: > >> org.qtproject.example.samegame > >> 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM > >> ===================================================================== > >> Invalid packageName? I'm confused. > >> > >> When using an AVD it does not work either. > >> When using the desktop kit the example app works fine. > >> > >> No problem building and running a Hello Word Standard Project with > >> Android Studio on the device. > >> > >> Here is my setup: > >> > >> Ubuntu 14.04 LTS 64bit. > >> JDK Oracle 1.8.0_101 > >> NDK r10e > >> Android Studio 2.2.3 with SDK installed > >> qt-opensource-linux-x64-android-5.7.1.run > >> > >> The QtCreator android kits were automatically created. > >> The apk is successfully build for armeabi-v7a > >> > >> Any idea? > >> > >> Regards, > >> Heiko > >> _______________________________________________ > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From gourmand at inbox.ru Thu Jan 5 16:35:32 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Thu, 05 Jan 2017 18:35:32 +0300 Subject: [Interest] =?utf-8?q?Failed_first_try_with_Qt_on_Android?= In-Reply-To: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> Message-ID: <1483630532.815565340@f116.i.mail.ru> I think this question better ask in conventional Qt-user's forums. There are lots of people creating applications for Android using Qt (including me). All works fine and users will better help. This list is related to Qt internals and features but not "how to use it". >Четверг, 5 января 2017, 17:41 +03:00 от "hg at technosis.de" : > >Hi, > >I just started to evaluate Qt on Android and I'm unfortunately stuck in >the beginning. Maybe someone has a hint for me. > >The problem: When running a new Hello World Project or a standard Qt >example (for instance: org.qtproject.example.samegame) from QtCreator it >tries to start the app and and after a while outputs: >"org.qtproject.example.samegame" died. > >Logcat shows the following log from the android device (oneplusone). >==================================================================== >01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START >com.android.internal.os.RuntimeInit uid 2000 <<<<<< >01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF >01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: >/data/misc/zoneinfo/current/icu/icu_tzdata.dat >01-05 15:05:33.567 25696-25696/? I/Radio-JNI: >register_android_hardware_Radio DONE >01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry >com.android.commands.am.Am >01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: >org.qtproject.example.samegame >01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM >===================================================================== >Invalid packageName? I'm confused. > >When using an AVD it does not work either. >When using the desktop kit the example app works fine. > >No problem building and running a Hello Word Standard Project with >Android Studio on the device. > >Here is my setup: > >Ubuntu 14.04 LTS 64bit. >JDK Oracle 1.8.0_101 >NDK r10e >Android Studio 2.2.3 with SDK installed >qt-opensource-linux-x64-android-5.7.1.run > >The QtCreator android kits were automatically created. >The apk is successfully build for armeabi-v7a > >Any idea? > >Regards, >Heiko >_______________________________________________ >Interest mailing list >Interest at qt-project.org >http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Thu Jan 5 16:40:51 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Thu, 05 Jan 2017 18:40:51 +0300 Subject: [Interest] [WARNING] download.qt.io is not answer! In-Reply-To: <10738811483623897@web6h.yandex.ru> References: <10738811483623897@web6h.yandex.ru> Message-ID: <267991483630851@web19o.yandex.ru> 05.01.2017, 16:45, "Konstantin Podsvirov" : > I try ping download.qt.io [77.86.229.90], but is not answer! > > QtSDK online installers do not work too. > > I missed the message of the technical work? Reproduced here > > -- > Regards, > Konstantin Podsvirov > > , > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From annulen at yandex.ru Thu Jan 5 16:42:13 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Thu, 05 Jan 2017 18:42:13 +0300 Subject: [Interest] [WARNING] download.qt.io is not answer! In-Reply-To: <267991483630851@web19o.yandex.ru> References: <10738811483623897@web6h.yandex.ru> <267991483630851@web19o.yandex.ru> Message-ID: <269231483630933@web19o.yandex.ru> 05.01.2017, 18:41, "Konstantin Tokarev" : > 05.01.2017, 16:45, "Konstantin Podsvirov" : >>  I try ping download.qt.io [77.86.229.90], but is not answer! >> >>  QtSDK online installers do not work too. >> >>  I missed the message of the technical work? > > Reproduced here I mean ping failure; http://download.qt.io/ website works > >>  -- >>  Regards, >>  Konstantin Podsvirov >> >>  , >> >>  _______________________________________________ >>  Interest mailing list >>  Interest at qt-project.org >>  http://lists.qt-project.org/mailman/listinfo/interest > > -- > Regards, > Konstantin > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From konstantin at podsvirov.pro Thu Jan 5 16:48:05 2017 From: konstantin at podsvirov.pro (Konstantin Podsvirov) Date: Thu, 05 Jan 2017 18:48:05 +0300 Subject: [Interest] [WARNING] download.qt.io is not answer! In-Reply-To: <269231483630933@web19o.yandex.ru> References: <10738811483623897@web6h.yandex.ru> <267991483630851@web19o.yandex.ru> <269231483630933@web19o.yandex.ru> Message-ID: <10861711483631285@web15h.yandex.ru> An HTML attachment was scrubbed... URL: From william.crocker at analog.com Thu Jan 5 16:51:36 2017 From: william.crocker at analog.com (william.crocker at analog.com) Date: Thu, 5 Jan 2017 10:51:36 -0500 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> References: <586E5B8E.6050308@gmail.com> <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> Message-ID: <586E6B88.7010803@analog.com> On 01/05/2017 10:29 AM, Bob Hood wrote: > On 1/5/2017 8:03 AM, Jason H wrote: >> The mantra is to use QML. > > I just wrote a wonderful utility using Qt 5.6.2 and Widgets for the desktop, and > there's no hint of QML in it. It functions beautifully, is easily maintainable, > and even has full animations. > > I don't think the mantra is QML. The mantra is: Look at your need, your goal, > and choose the Qt technology that best fits it. If that's QML, fine. If that's > Widgets, fine. Unless Qt reps step up here and support your statement (which > will have ramifications for me and, I'm sure, many others), summarily stating to > somebody that they should use QML as the primary tech for a new desktop app is, > I think, dogmatic, at best, and continues to fuel the anxiety that Qt is pouring > all the love into a QML/mobile focus. ... you mean, it isn't ? > > Just my $0.02. > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > From andre.hartmann at iseg-hv.de Thu Jan 5 16:56:51 2017 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Thu, 5 Jan 2017 16:56:51 +0100 Subject: [Interest] Qmake one-line Qt version checking? Message-ID: Hi, in C++ code I can do a Qt version comparison in one line like this: #if QT_VERSION < 0x050800 # error "This program requires Qt 5.8 or higher" #endif To do something similar in a .pro file, I have to use a construct like this: lessThan(QT_MAJOR_VERSION, 5): message("This program requires Qt 5.8") else: lessThan(QT_MINOR_VERSION, 8): message("This program...") Is there a way to do a comparison here like in C++ in one line? Best regards, Andre From jeanmichael.celerier at gmail.com Thu Jan 5 17:17:43 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Thu, 5 Jan 2017 17:17:43 +0100 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: <586E6B88.7010803@analog.com> References: <586E5B8E.6050308@gmail.com> <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> <586E6B88.7010803@analog.com> Message-ID: QWidgets and QML aren't incompatible, you can display a QML central widget with your image processing view with a QQuickView inside a QMainWindow, just like you would have used a QGraphicsView before. Best, Jean-Michaël ------- Jean-Michaël Celerier http://www.jcelerier.name On Thu, Jan 5, 2017 at 4:51 PM, william.crocker at analog.com < william.crocker at analog.com> wrote: > On 01/05/2017 10:29 AM, Bob Hood wrote: > >> On 1/5/2017 8:03 AM, Jason H wrote: >> >>> The mantra is to use QML. >>> >> >> I just wrote a wonderful utility using Qt 5.6.2 and Widgets for the >> desktop, and >> there's no hint of QML in it. It functions beautifully, is easily >> maintainable, >> and even has full animations. >> >> I don't think the mantra is QML. The mantra is: Look at your need, your >> goal, >> and choose the Qt technology that best fits it. If that's QML, fine. If >> that's >> Widgets, fine. Unless Qt reps step up here and support your statement >> (which >> will have ramifications for me and, I'm sure, many others), summarily >> stating to >> somebody that they should use QML as the primary tech for a new desktop >> app is, >> > > I think, dogmatic, at best, and continues to fuel the anxiety that Qt is >> pouring >> all the love into a QML/mobile focus. >> > > ... you mean, it isn't ? > > > >> Just my $0.02. >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> >> >> _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Thu Jan 5 17:19:12 2017 From: bhood2 at comcast.net (Bob Hood) Date: Thu, 5 Jan 2017 09:19:12 -0700 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: <586E6B88.7010803@analog.com> References: <586E5B8E.6050308@gmail.com> <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> <586E6B88.7010803@analog.com> Message-ID: <39c2f9a7-481d-66cf-3af8-472af9e7ff0f@comcast.net> On 1/5/2017 8:51 AM, william.crocker at analog.com wrote: > On 01/05/2017 10:29 AM, Bob Hood wrote: >> On 1/5/2017 8:03 AM, Jason H wrote: >>> The mantra is to use QML. >> >> I just wrote a wonderful utility using Qt 5.6.2 and Widgets for the >> desktop, and >> there's no hint of QML in it. It functions beautifully, is easily >> maintainable, >> and even has full animations. >> >> I don't think the mantra is QML. The mantra is: Look at your need, your goal, >> and choose the Qt technology that best fits it. If that's QML, fine. If that's >> Widgets, fine. Unless Qt reps step up here and support your statement (which >> will have ramifications for me and, I'm sure, many others), summarily >> stating to >> somebody that they should use QML as the primary tech for a new desktop app >> is, > >> I think, dogmatic, at best, and continues to fuel the anxiety that Qt is >> pouring >> all the love into a QML/mobile focus. > > ... you mean, it isn't ? Certainly, it would seem to be the case, but if that's also an official position, then I'd appreciate a representative of Qt stepping up and saying so publicly. I would have decisions to make concerning my project's commercial license, and my product's future direction, based upon it. From rainer_wiesenfarth at trimble.com Thu Jan 5 17:43:17 2017 From: rainer_wiesenfarth at trimble.com (Rainer Wiesenfarth) Date: Thu, 5 Jan 2017 17:43:17 +0100 Subject: [Interest] Qmake one-line Qt version checking? In-Reply-To: References: Message-ID: 2017-01-05 16:56 GMT+01:00 André Hartmann : > lessThan(QT_MAJOR_VERSION, 5): message("This program requires Qt 5.8") > else: lessThan(QT_MINOR_VERSION, 8): message("This program...") > > Is there a way to do a comparison here like in C++ in one line? > ​With C++ >= 11, ... static_assert(QT_VERSION >= 0x050800, "​This program requires Qt 5.8 or higher"); ​...should work​ (untested). ​Best regards Rainer​ -- Software Engineer | Trimble Imaging Division Rotebühlstraße 81 | 70178 Stuttgart | Germany Office +49 711 22881 0 | Fax +49 711 22881 11 http://www.trimble.com/imaging/ | http://www.inpho.de/ Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim Eingetragen beim Amtsgericht Darmstadt unter HRB 83893, Geschäftsführer: Dr. Frank Heimberg, Jürgen Kesper -------------- next part -------------- An HTML attachment was scrubbed... URL: From rainer_wiesenfarth at trimble.com Thu Jan 5 17:44:51 2017 From: rainer_wiesenfarth at trimble.com (Rainer Wiesenfarth) Date: Thu, 5 Jan 2017 17:44:51 +0100 Subject: [Interest] Qmake one-line Qt version checking? In-Reply-To: References: Message-ID: Ah, forget about it, read it the wrong way... -- Software Engineer | Trimble Imaging Division Rotebühlstraße 81 | 70178 Stuttgart | Germany Office +49 711 22881 0 | Fax +49 711 22881 11 http://www.trimble.com/imaging/ | http://www.inpho.de/ Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim Eingetragen beim Amtsgericht Darmstadt unter HRB 83893, Geschäftsführer: Dr. Frank Heimberg, Jürgen Kesper -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Thu Jan 5 17:47:10 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 5 Jan 2017 17:47:10 +0100 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: <39c2f9a7-481d-66cf-3af8-472af9e7ff0f@comcast.net> References: <586E5B8E.6050308@gmail.com> <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> <586E6B88.7010803@analog.com>, <39c2f9a7-481d-66cf-3af8-472af9e7ff0f@comcast.net> Message-ID: > Sent: Thursday, January 05, 2017 at 11:19 AM > From: "Bob Hood" > To: interest at qt-project.org > Subject: Re: [Interest] Which "Widget" technology to use when starting a new desktop app > > On 1/5/2017 8:51 AM, william.crocker at analog.com wrote: > > On 01/05/2017 10:29 AM, Bob Hood wrote: > >> On 1/5/2017 8:03 AM, Jason H wrote: > >>> The mantra is to use QML. > >> > >> I just wrote a wonderful utility using Qt 5.6.2 and Widgets for the > >> desktop, and > >> there's no hint of QML in it. It functions beautifully, is easily > >> maintainable, > >> and even has full animations. > >> > >> I don't think the mantra is QML. The mantra is: Look at your need, your goal, > >> and choose the Qt technology that best fits it. If that's QML, fine. If that's > >> Widgets, fine. Unless Qt reps step up here and support your statement (which > >> will have ramifications for me and, I'm sure, many others), summarily > >> stating to > >> somebody that they should use QML as the primary tech for a new desktop app > >> is, > > > >> I think, dogmatic, at best, and continues to fuel the anxiety that Qt is > >> pouring > >> all the love into a QML/mobile focus. > > > > ... you mean, it isn't ? > > > Certainly, it would seem to be the case, but if that's also an official > position, then I'd appreciate a representative of Qt stepping up and saying so > publicly. I would have decisions to make concerning my project's commercial > license, and my product's future direction, based upon it. Well with the QtQuick Controls 2 of 5.7, I think the future is slanted to QML. Having extensively coded in both, I do prefer QML, though I still wax nostalgic over Widgets. Those layouts were amazing and I wasn't plagued with binding loops for width or height. (The implicitHeight/implicitWidth vs actual height/width vs preferred (from Widgets) is still a rough edge that needs to worked out. There's not consistency on implicits vs actual vs others (painted). QML is almost "there" in terms of it's original dream of having Designers worry about appearance while letting the Engineers be decoupled to focus on the logic. I think I'm one intermediate QtObject away from being able to do that. I've also used PyQt to do a precurosr to QML w.r.t the ease of a scripting language but being able to use Qt's widgets. QML satisfies that niche, and is sufficiently supported. From hg at technosis.de Thu Jan 5 18:03:59 2017 From: hg at technosis.de (hg at technosis.de) Date: Thu, 5 Jan 2017 18:03:59 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> <145ccff6-b89c-b48b-cc8c-bf2cc53eb63e@technosis.de> Message-ID: Same package name in manifest. Or what does your question mean? Am 05.01.2017 um 16:33 schrieb Jason H: > It might be, but what does your manifest say? > > >> Sent: Thursday, January 05, 2017 at 10:31 AM >> From: "hg at technosis.de" >> To: interest at qt-project.org >> Subject: Re: [Interest] Failed first try with Qt on Android >> >> Thanks Jason, I have seen that bug. But there the created packagename >> was indeed invalid. Whereas "org.qtproject.example.samegame" is >> obviously valid. >> I think the error message is misleading and the result of something else. >> Since I do nothing else than standard qt setup build and run and nobody >> else seem to have this problem there must be something stupid I missed. >> >> Heiko >> >> Am 05.01.2017 um 15:59 schrieb Jason H: >>> I haven't seen this error in a while, but it is pointing to a mismatch between what is in the manifest and the APK. >>> Also see https://bugreports.qt.io/browse/QTCREATORBUG-12009 >>> It should not be happening, but maybe that will point you in the right direction. >>> >>> >>> >>>> Sent: Thursday, January 05, 2017 at 9:41 AM >>>> From: "hg at technosis.de" >>>> To: interest at qt-project.org >>>> Subject: [Interest] Failed first try with Qt on Android >>>> >>>> Hi, >>>> >>>> I just started to evaluate Qt on Android and I'm unfortunately stuck in >>>> the beginning. Maybe someone has a hint for me. >>>> >>>> The problem: When running a new Hello World Project or a standard Qt >>>> example (for instance: org.qtproject.example.samegame) from QtCreator it >>>> tries to start the app and and after a while outputs: >>>> "org.qtproject.example.samegame" died. >>>> >>>> Logcat shows the following log from the android device (oneplusone). >>>> ==================================================================== >>>> 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START >>>> com.android.internal.os.RuntimeInit uid 2000 <<<<<< >>>> 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF >>>> 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: >>>> /data/misc/zoneinfo/current/icu/icu_tzdata.dat >>>> 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: >>>> register_android_hardware_Radio DONE >>>> 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry >>>> com.android.commands.am.Am >>>> 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: >>>> org.qtproject.example.samegame >>>> 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM >>>> ===================================================================== >>>> Invalid packageName? I'm confused. >>>> >>>> When using an AVD it does not work either. >>>> When using the desktop kit the example app works fine. >>>> >>>> No problem building and running a Hello Word Standard Project with >>>> Android Studio on the device. >>>> >>>> Here is my setup: >>>> >>>> Ubuntu 14.04 LTS 64bit. >>>> JDK Oracle 1.8.0_101 >>>> NDK r10e >>>> Android Studio 2.2.3 with SDK installed >>>> qt-opensource-linux-x64-android-5.7.1.run >>>> >>>> The QtCreator android kits were automatically created. >>>> The apk is successfully build for armeabi-v7a >>>> >>>> Any idea? >>>> >>>> Regards, >>>> Heiko >>>> _______________________________________________ >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > -- Technosis AG Kattrepelsbrücke 1 20095 Hamburg Telefon +49-40-2190897-0 Telefax +49-40-2190897-99 Supporthotline ATAQ FM: +49-40-2190897-97 Supporthotline ATAQ Risk: +49-40-2190897-91 Support Mail: support at technosis.de Internet: www.technosis.de Sitz: Hamburg, HRB 121100, USt-IdNr. DE155155689 Vorstand: Tobias Dittmar (Vors.), Heiko Gerdau, Dierk Rathjen Vorsitzender des Aufsichtsrates: Walter Beyer From hg at technosis.de Thu Jan 5 18:07:14 2017 From: hg at technosis.de (hg at technosis.de) Date: Thu, 5 Jan 2017 18:07:14 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <1483630532.815565340@f116.i.mail.ru> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> <1483630532.815565340@f116.i.mail.ru> Message-ID: <31e9fe30-7333-5cce-4e57-328f8314284e@technosis.de> I don't consider this a "how to use Qt"-Question. Anyway what conventional Qt-users forum do you suggest? Am 05.01.2017 um 16:35 schrieb Serge K via Interest: > I think this question better ask in conventional Qt-user's forums. There > are lots of people creating applications for Android using Qt (including > me). All works fine and users will better help. This list is related to > Qt internals and features but not "how to use it". > > Четверг, 5 января 2017, 17:41 +03:00 от "hg at technosis.de" > : > > Hi, > > I just started to evaluate Qt on Android and I'm unfortunately stuck in > the beginning. Maybe someone has a hint for me. > > The problem: When running a new Hello World Project or a standard Qt > example (for instance: org.qtproject.example.samegame) from > QtCreator it > tries to start the app and and after a while outputs: > "org.qtproject.example.samegame" died. > > Logcat shows the following log from the android device (oneplusone). > ==================================================================== > 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START > com.android.internal.os.RuntimeInit uid 2000 <<<<<< > 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF > 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file > found: > /data/misc/zoneinfo/current/icu/icu_tzdata.dat > 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: > register_android_hardware_Radio DONE > 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry > com.android.commands.am.Am > 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: > org.qtproject.example.samegame > 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM > ===================================================================== > Invalid packageName? I'm confused. > > When using an AVD it does not work either. > When using the desktop kit the example app works fine. > > No problem building and running a Hello Word Standard Project with > Android Studio on the device. > > Here is my setup: > > Ubuntu 14.04 LTS 64bit. > JDK Oracle 1.8.0_101 > NDK r10e > Android Studio 2.2.3 with SDK installed > qt-opensource-linux-x64-android-5.7.1.run > > The QtCreator android kits were automatically created. > The apk is successfully build for armeabi-v7a > > Any idea? > > Regards, > Heiko > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Technosis AG Kattrepelsbrücke 1 20095 Hamburg Telefon +49-40-2190897-0 Telefax +49-40-2190897-99 Supporthotline ATAQ FM: +49-40-2190897-97 Supporthotline ATAQ Risk: +49-40-2190897-91 Support Mail: support at technosis.de Internet: www.technosis.de Sitz: Hamburg, HRB 121100, USt-IdNr. DE155155689 Vorstand: Tobias Dittmar (Vors.), Heiko Gerdau, Dierk Rathjen Vorsitzender des Aufsichtsrates: Walter Beyer From hg at technosis.de Thu Jan 5 18:42:21 2017 From: hg at technosis.de (hg at technosis.de) Date: Thu, 5 Jan 2017 18:42:21 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <31e9fe30-7333-5cce-4e57-328f8314284e@technosis.de> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> <1483630532.815565340@f116.i.mail.ru> <31e9fe30-7333-5cce-4e57-328f8314284e@technosis.de> Message-ID: <2f46a41b-bbb2-017c-4084-b2e880428080@technosis.de> Ok, found forum.qt.io/category/11/mobile-and-embedded Am 05.01.2017 um 18:07 schrieb hg at technosis.de: > I don't consider this a "how to use Qt"-Question. > Anyway what conventional Qt-users forum do you suggest? > > Am 05.01.2017 um 16:35 schrieb Serge K via Interest: >> I think this question better ask in conventional Qt-user's forums. There >> are lots of people creating applications for Android using Qt (including >> me). All works fine and users will better help. This list is related to >> Qt internals and features but not "how to use it". From nunosantos at imaginando.pt Thu Jan 5 19:48:22 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Thu, 5 Jan 2017 18:48:22 +0000 Subject: [Interest] Problems building Qt 5.8 from source with openssl-linked Windows Message-ID: <32bf7886-ade2-6102-14e1-f589f2fc8858@imaginando.pt> Hi, I'm trying to build Qt 5.8 from source on Windows with openssl-linked support with the following configure line: configure -confirm-license -recheck -prefix c:\qt\5.8\msvc2013_5_8_static_32 -commercial -debug-and-release -static -static-runtime -openssl-linked -I c:\openssl-lib\include -L c:\openssl-lib\lib OPENSSL_LIBS_DEBUG="ssleay32MTd.lib libeay32MTd.lib" OPENSSL_LIBS_RELEASE="ssleay32MT.lib libeay32MT.lib" However, it seems to be ignoring the -I and -L parameters as it is failing during compilation because it can't find opensll/ssl.h which is there. Analysing the compiler output I can see that the -I and -L are not being passed to the compiler: cl -c -FIqt_pch.h -Yuqt_pch.h -Fp.pch\debug\Qt5Networkd_pch.pch -nologo -Zc:wchar_t -FS -Zc:strictStrings -Zc:throwingNew -Zi -MTd -D_HAS_EXCEPTIONS=0 -GR -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 /Fd..\..\lib\Qt5Networkd.pdb -DUNICODE -DWIN32 -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DWINVER=0x0600 -D_WIN32_WINNT=0x0600 -DQT_USE_SYSTEM_PROXIES -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_CORE_LIB -DQT_CORE_LIB -DQT_NO_EXCEPTIONS -I. -I..\3rdparty\zlib -Ikernel -I..\..\include -I..\..\include\QtNetwork -I..\..\include\QtNetwork\5.8.1 -I..\..\include\QtNetwork\5.8.1\QtNetwork -Itmp -I..\..\include\QtCore\5.8.1 -I..\..\include\QtCore\5.8.1\QtCore -I..\..\include\QtCore -I.moc\debug -I..\..\mkspecs\win32-msvc -Fo.obj\debug\ @C:\Users\nsantos\AppData\Local\Temp\qhttpnetworkconnection.obj.8440.141.jom qhttpnetworkconnection.cpp c:\qt\5.8\src\qtbase\include\qtnetwork\5.8.1\qtnetwork\private\../../../../../src/network/ssl/qsslcontext_openssl_p.h(60): fatal error C1083: Cannot open include file: 'openssl/ssl.h': No such file or directory I have tried to add OPENSSL_PATH="c:\openssl-lib\include" but didn't made any difference. I'm wondering if the way this is passed to configure has changed. Any ideas? Thanks! Regards, Nuno From schluchti at gmail.com Thu Jan 5 20:03:22 2017 From: schluchti at gmail.com (Bernhard B) Date: Thu, 5 Jan 2017 20:03:22 +0100 Subject: [Interest] Run script right before qmake finishes (or: embedd iOs framework) Message-ID: Hi, I am currently getting the following error when compiling my Qt iOs app: Library not loaded: @rpath .... Reason: image not found I know that I can solve this issue by adding the framework which causes the problem to the "Embedded Binaries" section in my XCode project. Unfortunately, I currently have to do this manually every time qmake is run (as it gets overwritten). See also this related ticket: [1] In one of the comments, Luke Vear mentioned his script [2] which automatically adds a given framework to the "Embedded Binaries" section. He does that with the help of a "custom process step". I really like the idea of scripting that, but I don't want to do this with a custom process step. The reason for that is, that I have many build machines, which makes it difficult to keep all the build configurations in sync. So I thought about whether it's possible to modify my *:pro file in a way, that the script gets run automatically after everything else finished? I know that I can run a script with "system", but how can I make sure that it runs after qmake created the XCode project? Does anyone know how I can accomplish that? Thanks for reading this, Bernhard [1] https://bugreports.qt.io/browse/QTBUG-51951 [2] https://github.com/lukevear/qt-xcodeproj-embeded-frameworks -------------- next part -------------- An HTML attachment was scrubbed... URL: From imikejackson at gmail.com Thu Jan 5 20:29:09 2017 From: imikejackson at gmail.com (Mike Jackson) Date: Thu, 05 Jan 2017 14:29:09 -0500 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: References: <586E5B8E.6050308@gmail.com> <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> <586E6B88.7010803@analog.com>, <39c2f9a7-481d-66cf-3af8-472af9e7ff0f@comcast.net> Message-ID: <586E9E85.9060906@gmail.com> Jason H wrote: > >> Sent: Thursday, January 05, 2017 at 11:19 AM From: "Bob >> Hood" To: interest at qt-project.org Subject: Re: >> [Interest] Which "Widget" technology to use when starting a new >> desktop app >> >> On 1/5/2017 8:51 AM, william.crocker at analog.com wrote: >>> On 01/05/2017 10:29 AM, Bob Hood wrote: >>>> On 1/5/2017 8:03 AM, Jason H wrote: >>>>> The mantra is to use QML. >>>> I just wrote a wonderful utility using Qt 5.6.2 and Widgets for >>>> the desktop, and there's no hint of QML in it. It functions >>>> beautifully, is easily maintainable, and even has full >>>> animations. >>>> >>>> I don't think the mantra is QML. The mantra is: Look at your >>>> need, your goal, and choose the Qt technology that best fits >>>> it. If that's QML, fine. If that's Widgets, fine. Unless Qt >>>> reps step up here and support your statement (which will have >>>> ramifications for me and, I'm sure, many others), summarily >>>> stating to somebody that they should use QML as the primary >>>> tech for a new desktop app is, I think, dogmatic, at best, and >>>> continues to fuel the anxiety that Qt is pouring all the love >>>> into a QML/mobile focus. >>> ... you mean, it isn't ? >> >> Certainly, it would seem to be the case, but if that's also an >> official position, then I'd appreciate a representative of Qt >> stepping up and saying so publicly. I would have decisions to make >> concerning my project's commercial license, and my product's future >> direction, based upon it. > > Well with the QtQuick Controls 2 of 5.7, I think the future is > slanted to QML. Having extensively coded in both, I do prefer QML, > though I still wax nostalgic over Widgets. Those layouts were amazing > and I wasn't plagued with binding loops for width or height. (The > implicitHeight/implicitWidth vs actual height/width vs preferred > (from Widgets) is still a rough edge that needs to worked out. > There's not consistency on implicits vs actual vs others (painted). > > QML is almost "there" in terms of it's original dream of having > Designers worry about appearance while letting the Engineers be > decoupled to focus on the logic. I think I'm one intermediate > QtObject away from being able to do that. > > I've also used PyQt to do a precurosr to QML w.r.t the ease of a > scripting language but being able to use Qt's widgets. QML satisfies > that niche, and is sufficiently supported. > Does the upcoming Qt 5.8 solve any of these issues? Do you find the "Built in" styles acceptable for applications or do you end up bringing in a UX engineer to style the components? Thanks Mike Jackson From apoenitz at t-online.de Thu Jan 5 21:12:42 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Thu, 5 Jan 2017 21:12:42 +0100 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: References: <586E5B8E.6050308@gmail.com> Message-ID: <20170105201242.GB2462@klara.mpi.htwm.de> On Thu, Jan 05, 2017 at 04:03:56PM +0100, Jason H wrote: > > > After watching the webinar "The Curse of Choice: An overview of GUI > > technologies in Qt?"[1] I am even more confused as to what to use for > > our new desktop app. Here are a few of the background details. The app > > will be cross platform to desktop systems, not embedded at all. The app > > will be displaying some "image" data from hdf5 files and performing some > > "real" time basic image manipulations (gamma corrections, coloring of > > data) on that data. The app will eventually call out to some existing > > libraries to perform some long running analysis/simulations. We are > > currently using Qt 5.6.2 due to its long term maintenance guarantees. > > > > In the past I have used QGraphics* classes to show images and perform > > basic zoom, save, compositing functions but the webinar makes it pretty > > clear NOT to use those classes any more. The webinar seems to push QML > > and the Qt Quick classes as the way forward for desktop apps. One of the > > issues that we might have with QML is the need to apply styling to those > > widgets, none of us are UX/Styling experts by any stretch of the > > imagination. I took a look at QOpenGLWidget to display/manipulate the > > images so that we get an accelerated canvas to use. That looked > > promising in combination with traditional QWidgets. > > > > I would like to hear other peoples experiences & suggestions as to what > > they are doing. I don't want to write the app and then have to figure > > out how to port it to another Qt technology in a year or so after our > > funding has run out. > > > The mantra is to use QML. Definitely not true for the kind aof applications the OP describes. Anndre' From apoenitz at t-online.de Thu Jan 5 21:16:08 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Thu, 5 Jan 2017 21:16:08 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <1483630532.815565340@f116.i.mail.ru> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> <1483630532.815565340@f116.i.mail.ru> Message-ID: <20170105201608.GC2462@klara.mpi.htwm.de> On Thu, Jan 05, 2017 at 06:35:32PM +0300, Serge K via Interest wrote: > I think this question better ask in conventional Qt-user's forums. This here is the conventional Qt User forum. Andre' [And no, I can't answer the original question. Last time I tried SameGame on Android a couple of months ago with NDK 10e and some Qt from 5.8 branch it just worked.] From imikejackson at gmail.com Thu Jan 5 22:58:00 2017 From: imikejackson at gmail.com (Mike Jackson) Date: Thu, 05 Jan 2017 16:58:00 -0500 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: <20170105201242.GB2462@klara.mpi.htwm.de> References: <586E5B8E.6050308@gmail.com> <20170105201242.GB2462@klara.mpi.htwm.de> Message-ID: <586EC168.9050306@gmail.com> André Pönitz wrote: > On Thu, Jan 05, 2017 at 04:03:56PM +0100, Jason H wrote: >>> After watching the webinar "The Curse of Choice: An overview of GUI >>> technologies in Qt?"[1] I am even more confused as to what to use for >>> our new desktop app. Here are a few of the background details. The app >>> will be cross platform to desktop systems, not embedded at all. The app >>> will be displaying some "image" data from hdf5 files and performing some >>> "real" time basic image manipulations (gamma corrections, coloring of >>> data) on that data. The app will eventually call out to some existing >>> libraries to perform some long running analysis/simulations. We are >>> currently using Qt 5.6.2 due to its long term maintenance guarantees. >>> >>> In the past I have used QGraphics* classes to show images and perform >>> basic zoom, save, compositing functions but the webinar makes it pretty >>> clear NOT to use those classes any more. The webinar seems to push QML >>> and the Qt Quick classes as the way forward for desktop apps. One of the >>> issues that we might have with QML is the need to apply styling to those >>> widgets, none of us are UX/Styling experts by any stretch of the >>> imagination. I took a look at QOpenGLWidget to display/manipulate the >>> images so that we get an accelerated canvas to use. That looked >>> promising in combination with traditional QWidgets. >>> >>> I would like to hear other peoples experiences& suggestions as to what >>> they are doing. I don't want to write the app and then have to figure >>> out how to port it to another Qt technology in a year or so after our >>> funding has run out. >> >> The mantra is to use QML. > > Definitely not true for the kind aof applications the OP describes. > > Anndre' After reviewing the responses and doing some more research online we decided to stick with the traditional QWidgets for our desktop app but get away from the QGraphics* classes and replace that older code with code based on QOpenGlWidget so we can get accelerated 2D rendering. Thanks all for your responses and suggestions. Mike Jackson From interval1066 at gmail.com Thu Jan 5 23:08:24 2017 From: interval1066 at gmail.com (Tim O'Neil) Date: Thu, 5 Jan 2017 14:08:24 -0800 Subject: [Interest] Fwd: Which "Widget" technology to use when starting a new desktop app In-Reply-To: References: <586E5B8E.6050308@gmail.com> <7b8b0a31-e46f-50e0-cbb9-c0d122791809@comcast.net> Message-ID: This. (What Bob said, but I would carry it to another level.) Its a toolbox. Use the tool for the job. Often its Qt, but I once worked on a team that was mandated to create a UI that would work on Windows, OSX, Gnome, and KDE. And the client wanted minimal third party and external tools. The solution? HTML5 with an embedded web server in STL. Built a package for each platform and Joe's your mother. (There was some external tool installing but we kept that completely under the covers.) "Why use Ada when we can use Lisp? Well, why Lisp if we have python? Why use python when you can use Perl? Ok, why perl when you have bash? We'll write our app in bash." On Thu, Jan 5, 2017 at 7:29 AM, Bob Hood wrote: > On 1/5/2017 8:03 AM, Jason H wrote: > >> The mantra is to use QML. >> > > I just wrote a wonderful utility using Qt 5.6.2 and Widgets for the > desktop, and there's no hint of QML in it. It functions beautifully, is > easily maintainable, and even has full animations. > > I don't think the mantra is QML. The mantra is: Look at your need, your > goal, and choose the Qt technology that best fits it. If that's QML, fine. > If that's Widgets, fine. Unless Qt reps step up here and support your > statement (which will have ramifications for me and, I'm sure, many > others), summarily stating to somebody that they should use QML as the > primary tech for a new desktop app is, I think, dogmatic, at best, and > continues to fuel the anxiety that Qt is pouring all the love into a > QML/mobile focus. > > Just my $0.02. > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Uwe.Rathmann at tigertal.de Fri Jan 6 09:21:01 2017 From: Uwe.Rathmann at tigertal.de (Uwe Rathmann) Date: Fri, 6 Jan 2017 08:21:01 +0000 (UTC) Subject: [Interest] Which "Widget" technology to use when starting a new desktop app References: <586E5B8E.6050308@gmail.com> <20170105201242.GB2462@klara.mpi.htwm.de> <586EC168.9050306@gmail.com> Message-ID: On Thu, 05 Jan 2017 16:58:00 -0500, Mike Jackson wrote: > After reviewing the responses and doing some more research online we > decided to stick with the traditional QWidgets IMO the only reasonable choice for a classic desktop application ... > ... for our desktop app but > get away from the QGraphics* classes and replace that older code with > code based on QOpenGlWidget so we can get accelerated 2D rendering. QGraphics* can also run over the OpenGL paint engine. So as long as you need QPainter dropping QGraphics* buys you nothing - beside you are not happy with the quality of the implementation of this framework. And going away from QPainter means no more PDF export ! Concerning mixed mode ( QOpenGL + Raster ) applications. I once tried it an soon ran into: https://bugreports.qt.io/browse/QTBUG-50916 I don't want to say that doing pure OpenGL is the wrong decision, but one, that needs to be made carefully. Uwe From Richard.Gustavsen at qt.io Fri Jan 6 10:00:46 2017 From: Richard.Gustavsen at qt.io (Richard Gustavsen) Date: Fri, 6 Jan 2017 09:00:46 +0000 Subject: [Interest] Run script right before qmake finishes (or: embedd iOs framework) In-Reply-To: References: Message-ID: You can try to add something like the following to your pro file: QMAKE_POST_LINK += "cp somefile $CODESIGNING_FOLDER_PATH" -Richard ________________________________ Fra: Interest på vegne av Bernhard B Sendt: 5. januar 2017 20:03:22 Til: interest at qt-project.org Emne: [Interest] Run script right before qmake finishes (or: embedd iOs framework) Hi, I am currently getting the following error when compiling my Qt iOs app: Library not loaded: @rpath .... Reason: image not found I know that I can solve this issue by adding the framework which causes the problem to the "Embedded Binaries" section in my XCode project. Unfortunately, I currently have to do this manually every time qmake is run (as it gets overwritten). See also this related ticket: [1] In one of the comments, Luke Vear mentioned his script [2] which automatically adds a given framework to the "Embedded Binaries" section. He does that with the help of a "custom process step". I really like the idea of scripting that, but I don't want to do this with a custom process step. The reason for that is, that I have many build machines, which makes it difficult to keep all the build configurations in sync. So I thought about whether it's possible to modify my *:pro file in a way, that the script gets run automatically after everything else finished? I know that I can run a script with "system", but how can I make sure that it runs after qmake created the XCode project? Does anyone know how I can accomplish that? Thanks for reading this, Bernhard [1] https://bugreports.qt.io/browse/QTBUG-51951 [2] https://github.com/lukevear/qt-xcodeproj-embeded-frameworks -------------- next part -------------- An HTML attachment was scrubbed... URL: From jan.struhar at cs-soft.cz Fri Jan 6 11:26:09 2017 From: jan.struhar at cs-soft.cz (=?UTF-8?B?SmFuICdLb3ZpxaEnIFN0cnVow6Fy?=) Date: Fri, 6 Jan 2017 11:26:09 +0100 Subject: [Interest] Which "Widget" technology to use when starting a new desktop app In-Reply-To: References: <586E5B8E.6050308@gmail.com> <20170105201242.GB2462@klara.mpi.htwm.de> <586EC168.9050306@gmail.com> Message-ID: <251f12cf-9bb7-b148-5510-e981c4da2e41@cs-soft.cz> On 01/06/2017 09:21 AM, Uwe Rathmann wrote: > On Thu, 05 Jan 2017 16:58:00 -0500, Mike Jackson wrote: > >> After reviewing the responses and doing some more research online we >> decided to stick with the traditional QWidgets > IMO the only reasonable choice for a classic desktop application ... For me hybridizing works very well - some widget stuff, some flashy big things as embedded QML Widget. In some applications I do not have QML embedded in resources but in the file system so that power users can customize screens using QML and it works well. > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pjceibmphhhdiiln.png Type: image/png Size: 179832 bytes Desc: not available URL: From hg at technosis.de Fri Jan 6 12:02:37 2017 From: hg at technosis.de (hg at technosis.de) Date: Fri, 6 Jan 2017 12:02:37 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> Message-ID: <22f23584-8593-cd0a-2483-4b02c5300bac@technosis.de> Installing the generated apk by hand on the device does work. So it seems to be a deploying issue. Am 05.01.2017 um 15:41 schrieb hg at technosis.de: > Hi, > > I just started to evaluate Qt on Android and I'm unfortunately stuck in > the beginning. Maybe someone has a hint for me. > > The problem: When running a new Hello World Project or a standard Qt > example (for instance: org.qtproject.example.samegame) from QtCreator it > tries to start the app and and after a while outputs: > "org.qtproject.example.samegame" died. > > Logcat shows the following log from the android device (oneplusone). > ==================================================================== > 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START > com.android.internal.os.RuntimeInit uid 2000 <<<<<< > 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF > 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: > /data/misc/zoneinfo/current/icu/icu_tzdata.dat > 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: > register_android_hardware_Radio DONE > 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry > com.android.commands.am.Am > 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: > org.qtproject.example.samegame > 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM > ===================================================================== > Invalid packageName? I'm confused. > > When using an AVD it does not work either. > When using the desktop kit the example app works fine. > > No problem building and running a Hello Word Standard Project with > Android Studio on the device. > > Here is my setup: > > Ubuntu 14.04 LTS 64bit. > JDK Oracle 1.8.0_101 > NDK r10e > Android Studio 2.2.3 with SDK installed > qt-opensource-linux-x64-android-5.7.1.run > > The QtCreator android kits were automatically created. > The apk is successfully build for armeabi-v7a > > Any idea? > > Regards, > Heiko From petar.koretic at gmail.com Fri Jan 6 13:07:29 2017 From: petar.koretic at gmail.com (=?UTF-8?Q?Petar_Koreti=C4=87?=) Date: Fri, 6 Jan 2017 13:07:29 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: <22f23584-8593-cd0a-2483-4b02c5300bac@technosis.de> References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> <22f23584-8593-cd0a-2483-4b02c5300bac@technosis.de> Message-ID: Try removing .pro.user to reconfigure kits (close project, remove .pro.user, open .pro) Switch to gradle if you use ant - Projects > Buld Android APK > Details > Use Gradle This should reset it enough to give you a clean start On Fri, Jan 6, 2017 at 12:02 PM, hg at technosis.de wrote: > Installing the generated apk by hand on the device does work. > So it seems to be a deploying issue. > > > Am 05.01.2017 um 15:41 schrieb hg at technosis.de: > >> Hi, >> >> I just started to evaluate Qt on Android and I'm unfortunately stuck in >> the beginning. Maybe someone has a hint for me. >> >> The problem: When running a new Hello World Project or a standard Qt >> example (for instance: org.qtproject.example.samegame) from QtCreator it >> tries to start the app and and after a while outputs: >> "org.qtproject.example.samegame" died. >> >> Logcat shows the following log from the android device (oneplusone). >> ==================================================================== >> 01-05 15:05:33.394 25696-25696/? D/AndroidRuntime: >>>>>> START >> com.android.internal.os.RuntimeInit uid 2000 <<<<<< >> 01-05 15:05:33.420 25696-25696/? D/AndroidRuntime: CheckJNI is OFF >> 01-05 15:05:33.505 25696-25696/? D/ICU: No timezone override file found: >> /data/misc/zoneinfo/current/icu/icu_tzdata.dat >> 01-05 15:05:33.567 25696-25696/? I/Radio-JNI: >> register_android_hardware_Radio DONE >> 01-05 15:05:33.595 25696-25696/? D/AndroidRuntime: Calling main entry >> com.android.commands.am.Am >> 01-05 15:05:33.598 1444-18680/? W/ActivityManager: Invalid packageName: >> org.qtproject.example.samegame >> 01-05 15:05:33.598 25696-25696/? D/AndroidRuntime: Shutting down VM >> ===================================================================== >> Invalid packageName? I'm confused. >> >> When using an AVD it does not work either. >> When using the desktop kit the example app works fine. >> >> No problem building and running a Hello Word Standard Project with >> Android Studio on the device. >> >> Here is my setup: >> >> Ubuntu 14.04 LTS 64bit. >> JDK Oracle 1.8.0_101 >> NDK r10e >> Android Studio 2.2.3 with SDK installed >> qt-opensource-linux-x64-android-5.7.1.run >> >> The QtCreator android kits were automatically created. >> The apk is successfully build for armeabi-v7a >> >> Any idea? >> >> Regards, >> Heiko >> > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Fri Jan 6 13:09:19 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 6 Jan 2017 12:09:19 +0000 Subject: [Interest] How to include a .r header file in a Qt Mac OSX project via qmake? Message-ID: Hi, I’m working a project based on a Apple example that has a .r file. I don’t know exactly what Xcode does with it but I want to manage my project with Qt qmake and not with xcode. How can I tell qmake to process the .r file? Anyone knows what is this .r file? It seems like a header file but it has .r instead of .h Thanks! Regards, Nuno From sue at sf.mpg.de Fri Jan 6 13:34:27 2017 From: sue at sf.mpg.de (=?utf-8?Q?Michael_Su=C3=A9?=) Date: Fri, 6 Jan 2017 13:34:27 +0100 Subject: [Interest] Qmake one-line Qt version checking? In-Reply-To: References: Message-ID: <04da01d26819$3b9cf960$b2d6ec20$@sf.mpg.de> Hi, >#if QT_VERSION < 0x050800 ># error "This program requires Qt 5.8 or higher" >#endif You can use: lessThan(QT_VERSION, 5.8.0): message(This program requires Qt 5.8 or higher) - Michael. From andre.hartmann at iseg-hv.de Fri Jan 6 14:06:38 2017 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Fri, 6 Jan 2017 14:06:38 +0100 Subject: [Interest] Qmake one-line Qt version checking? In-Reply-To: <04da01d26819$3b9cf960$b2d6ec20$@sf.mpg.de> References: <04da01d26819$3b9cf960$b2d6ec20$@sf.mpg.de> Message-ID: Hi Michael, Am 06.01.2017 um 13:34 schrieb Michael Sué: > Hi, > >> #if QT_VERSION < 0x050800 >> # error "This program requires Qt 5.8 or higher" >> #endif > > You can use: > lessThan(QT_VERSION, 5.8.0): message(This program requires Qt 5.8 or higher) That works indeed - thank you very much! André > - Michael. > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From thiago.macieira at intel.com Fri Jan 6 15:39:55 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 06 Jan 2017 06:39:55 -0800 Subject: [Interest] How to include a .r header file in a Qt Mac OSX project via qmake? In-Reply-To: References: Message-ID: <9162118.93T3azOSyh@tjmaciei-mobl1> Em sexta-feira, 6 de janeiro de 2017, às 12:09:19 PST, Nuno Santos escreveu: > Hi, > > I’m working a project based on a Apple example that has a .r file. I don’t > know exactly what Xcode does with it but I want to manage my project with > Qt qmake and not with xcode. How can I tell qmake to process the .r file? > > Anyone knows what is this .r file? It seems like a header file but it has .r > instead of .h If you #include it only, then no buildsystem cares about it. You don't have to do anything. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From charleyb123 at gmail.com Fri Jan 6 17:54:07 2017 From: charleyb123 at gmail.com (charleyb123 .) Date: Fri, 6 Jan 2017 09:54:07 -0700 Subject: [Interest] C++Now (May-2017) Call For Submissions is open Message-ID: http://cppnow.org/2017-conference/announcements/2017/01/06/call-for-submission.html From hg at technosis.de Fri Jan 6 19:31:04 2017 From: hg at technosis.de (hg at technosis.de) Date: Fri, 6 Jan 2017 19:31:04 +0100 Subject: [Interest] Failed first try with Qt on Android In-Reply-To: References: <79d9e99c-c895-bf88-7410-5e68de25447f@technosis.de> <22f23584-8593-cd0a-2483-4b02c5300bac@technosis.de> Message-ID: <0bbbc6ef-5e2c-4563-7748-83f85c46c170@technosis.de> Thanks a lot. That fixed it. Don't know what was wrong in the ".pro.user". I did not even look at it ever before. Gradle was set before. So thanks again and have a nice weekend as I will have now ... Am 06.01.2017 um 13:07 schrieb Petar Koretić: > Try removing .pro.user to reconfigure kits (close project, remove > .pro.user, open .pro) > Switch to gradle if you use ant - Projects > Buld Android APK > Details >> Use Gradle > This should reset it enough to give you a clean start > From rjvbertin at gmail.com Fri Jan 6 21:29:13 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Fri, 06 Jan 2017 21:29:13 +0100 Subject: [Interest] Fwd: Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <30923606.WaAv6UrziB@asterixp50> References: <2623598.tKFN8rn2xa@bola> <3648530.GajCopeX3q@bola> <30923606.WaAv6UrziB@asterixp50> Message-ID: <1483746784.nNjIY3OWhV@portia.local> On Friday January 06 2017 18:33:01 David Faure wrote: > Well, you didn't say either way, so I tried to guess from your description, > and guessed wrong. No problem, can't be right all the time (and it's Friday night at that) ;) > > the shortcut shows up correctly (Command-<) but doesn't work. > > ... which brings me back to trying a simple QAction::setShortcut first. A bunch of observations already, from a simple test thingy I had lying around, and reverting temporarily to Qt 5.6.2 : // QKeySequence(Ctrl+Comma) doesn't work probably because normally owned by the system; doesn't show either. // shows as Shift-Command-, : // restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Comma)); // shows as Command-< : // restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Less)); // shows as Shift-Command-1 : // restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_1)); // shows as Command-! : restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Exclam)); It's probably to expected that Ctrl+Shift+1 is shown as such, and Ctrl+! as such too even if Qt could be aware of the kind of keyboard I have configured. In this pure Qt code they all work as expected provided I'm not trespassing on what is normally a system shortcut like Command+, (open Preferences) which doesn't even appear in the menu. However: - running the application with the XCB QPA still shows the shortcuts but none work. the SwapCtrlAndMeta attribute is unset with the XCB plugin, so shortcuts should function as on Linux/X11, and with KF5 applications they do when. - In KF5 applications I have no problem redefining Command+; it will show in the menu, but will continue to perform the system action - Important: Command+Shift+Letter shortcuts are not concerned, only shortcuts that include a "special" symbol which is accessible only under the shift. - This also applies to Ctrl+Shift+Key shortcuts: Ctrl+! and Ctrl+< are just as dead as Command+! and Command+< . In KF5 applications but not in pure Qt. - Adding some debug print probes in QNSView:keyDown: and QNSView:keyUp: I notice the following when defining a keycut with kxmlgui (the standard_actions KCM): * press Ctrl[+Shift]+key, release key: keyDown event followed by keyUp event when I release * press Command[+Shift]+key, release key: only a keyDown event, no keyUp event. Does kxmlgui shortcut recorder depend on keyUp/keyRelease events? If so, is there a way to monitor them (or where would I add a snooper without having to rewrite significant parts of unknown code? I'd add probes in Qt 5.6.2 but no longer have the build directory (and rebuilding would take hours). I did reactivate Qt 5.6.2 and all the 5.29.0 frameworks that I had rebuilt against 5.7.1 . All frameworks were thus built against 5.6.2 . This did NOT restore Command+Shift+Key functionality meaning that this particular regression was probably introduced between frameworks 5.27.0 and 5.29.0 . What does work with 5.6.2 is Ctrl+Shift+Symbol (tested with Ctrl-< in Kate5). Going back to Qt 5.6.2 restored the regression. I saved that shortcut to the default scheme so I could look at it, for instance: On Mac/Cocoa this corresponds to main "Ctrl+," and alt. "Command+<" (the difference was only to be sure how the comma is stored). The main shortcut works, the alternative doesn't. I tried editing this to "Meta+Shift+,; Ctrl+Shift+,;", but kxmlgui converts that to to shortcuts "Ctrl+," and "Command+<" (sic!). The former works as such, the latter doesn't. All in all I'm tempted to say that the regression lies mostly in KF5 and the way it interacts with Qt. For now I'm converting my crucial concerned shortcuts to Ctrl+Command+Key because that works ... R. From ev.mipt at gmail.com Sat Jan 7 13:13:56 2017 From: ev.mipt at gmail.com (Oleg Evseev) Date: Sat, 7 Jan 2017 15:13:56 +0300 Subject: [Interest] [Qt3D] QTransform is not shareable Message-ID: Hi, I wonder why the QTransform component is not shareable between multiple QEntity's Regards, Oleg. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Sat Jan 7 20:00:58 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sat, 07 Jan 2017 20:00:58 +0100 Subject: [Interest] Fwd: Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <3106340.vnvrHyqDam@xps> References: <2623598.tKFN8rn2xa@bola> <1483746784.nNjIY3OWhV@portia.local> <3106340.vnvrHyqDam@xps> Message-ID: <2970323.5krMbH2Oam@bola> On Saturday January 7 2017 19:33:13 Albert Astals Cid wrote: >You're a developer, you can reproduce the problem in one version and not in >another, instead of workarounding the problem you should bisect it until you >find where it broke. Sure, that's what I'd have done with my own code, and what I'll try with that big heap of foreign KF5 code, but in the meantime I also want something that works ;) R. From rpzrpzrpz at gmail.com Sun Jan 8 02:12:44 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Sat, 7 Jan 2017 19:12:44 -0600 Subject: [Interest] Fonts Puking on Qt 5.7.1: Message-ID: Just run the following QML on iphone, android, and OSX and you will see the great QML Font Mystery. All devices set to display English language. On OSX 10.11.5 -> there are 2 different weights On Ipad 2 running IOS 9.3.2-> there are 2 different font weights. On Ipad Mini V1 running IOS 9.3.2-> there are 2 different font weights. On Nexus 7 2013, Android 5.1.1-> there are 4 different font weights. On Motorola G 2014 -> there are 4 different font weights On Iphone 6, running 9.3.2, there is only 1 SINGLE font weight. There is no BOLD text available. Maybe this link works for public users: https://lh3.googleusercontent.com/-4yx3UemGN1k/WHGONxOlkrI/AAAAAAAACgE/qALo4H7y3hwNlto0USUn2G__TRDULA-PQCL0B/h1152/2017-01-07.jpg Who has other IOS devices that could test this? Cheers, md Here is the sample QML: import QtQuick 2.7 import QtQuick.Window 2.2 import QtQuick.Controls 1.5 Window { visible: true visibility: Qt.WindowFullScreen color: "white" Flickable { anchors.fill: parent boundsBehavior: Flickable.StopAtBounds contentHeight: gcol.childrenRect.height contentWidth: gcol.childrenRect.width Column { id: gcol spacing: 2 Row { Text { text: "Thin" ; font.pointSize: 12; width: 300 } Text { text: "ExtraLight" ; font.pointSize: 12; width: 300 } Text { text: "Light" ; font.pointSize: 12; width: 300 } Text { text: "Normal" ; font.pointSize: 12; width: 300 } Text { text: "Medium" ; font.pointSize: 12; width: 300 } Text { text: "Demi" ; font.pointSize: 12; width: 300 } Text { text: "Bold" ; font.pointSize: 12; width: 300 } Text { text: "ExtraBold" ; font.pointSize: 12; width: 300 } } Repeater { model: 100 Row { Text { id: gcont; text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.Thin ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.ExtraLight ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.Light ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.Normal ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.Medium ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.DemiBold ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.Bold ; width: 300 } Text { text: ""+(index+1) ; font.pointSize: (index+1); font.weight: Font.ExtraBold ; width: 300 } Rectangle { color: "black" width: 10 height: gcont.height } } } } } } From mayankb8330 at gmail.com Sun Jan 8 08:24:03 2017 From: mayankb8330 at gmail.com (mayank bansiwal) Date: Sun, 8 Jan 2017 12:54:03 +0530 Subject: [Interest] including kde classes in qt Message-ID: hello mates. i have just started to code with qt creator. I want to contribute to kde open source organization which uses qt. Can anyone please tell me how to include kde classes in qt ide. I added this syntax in my .pro file LIBS += -lkdeui but still it is showing error about kde header files i used. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Sun Jan 8 11:35:54 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Sun, 8 Jan 2017 11:35:54 +0100 Subject: [Interest] including kde classes in qt In-Reply-To: References: Message-ID: You also have to include the path to the header. However I think that the KDE organization is centered on CMake instead of qmake (another way to specify the build of your library). See here : https://community.kde.org/Guidelines_HOWTOs/CMake (and more generally, before contributing to KDE, reading all these would give you some important insights I think : https://community.kde.org/Guidelines_and_HOWTOs ) Best Jean-Michaël ------- Jean-Michaël Celerier http://www.jcelerier.name On Sun, Jan 8, 2017 at 8:24 AM, mayank bansiwal wrote: > hello mates. > i have just started to code with qt creator. I want to contribute to kde > open source organization which uses qt. Can anyone please tell me how to > include kde classes in qt ide. I added this syntax in my .pro file > > LIBS += -lkdeui > > but still it is showing error about kde header files i used. > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kfunk at kde.org Sun Jan 8 11:55:34 2017 From: kfunk at kde.org (Kevin Funk) Date: Sun, 08 Jan 2017 11:55:34 +0100 Subject: [Interest] including kde classes in qt In-Reply-To: References: Message-ID: <1511960.AmYhhfmR45@kerberos> On Sunday, 8 January 2017 12:54:03 CET mayank bansiwal wrote: > hello mates. > i have just started to code with qt creator. I want to contribute to kde > open source organization which uses qt. Can anyone please tell me how to > include kde classes in qt ide. I added this syntax in my .pro file > > LIBS += -lkdeui Heya, Where did you get 'kdeui' from? This library no longer exists in KDE Frameworks 5. I'm sure you don't want to work with the older/deprecated kdelibs4 (based on Qt4)?) Please check out the API documentation on https://api.kde.org to learn about KDE Frameworks 5 (based on Qt5): https://api.kde.org/frameworks/ Select the library you need on that page (e.g. KWidgetsAddons) and you'll learn how to use the library in QMake: https://api.kde.org/frameworks/kwidgetsaddons/html/index.html says: Use with QMake: QT += KWidgetsAddons That's actually it. For getting the QMake mkspecs files + development headers for KWidgetAddons you most likely need to install development packages of said library, for instance on Ubuntu 15.10+: libkf5widgetsaddons-dev - development files for kwidgetsaddons If you need more help please rather send a mail to: KDE-devel Mailing-List Hope that helps, Kevin > but still it is showing error about kde header files i used. -- Kevin Funk | kfunk at kde.org | http://kfunk.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 163 bytes Desc: This is a digitally signed message part. URL: From rjvbertin at gmail.com Sun Jan 8 19:09:29 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sun, 08 Jan 2017 19:09:29 +0100 Subject: [Interest] Fwd: Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <7691245.cO9oYgyOiP@bola> References: <2623598.tKFN8rn2xa@bola> <3928013.GzEax30WDq@kerberos> <7691245.cO9oYgyOiP@bola> Message-ID: <1592362.N42PiacKGS@portia.local> So... It seems we are indeed looking at a Qt regression. https://github.com/RJVB/shortcut-test-qt5 That's an adapted version of Qt's menus example which adds a shortcut test action with a configurable shortcut string and commandline options to add it to the menubar and/or the context menu, plus an option NOT to use the native menubar. I cannot get shortcuts like Ctrl+! but also Meta+! (resp. Command+! and Ctrl+! on Mac) to work unless the action is a menuitem in the native menubar. That's with Qt 5.7.1; with Qt 5.6.2 they work as expected. Writing them as Ctrl+Shift+1 or Meta+Shift+1 makes them work, but that's not really a nice solution... Is there anyone who can try the above example with Qt 5.7.1 or newer, possibly compare it to Qt 5.6? Thanks! From samuel.gaist at edeltech.ch Sun Jan 8 23:47:26 2017 From: samuel.gaist at edeltech.ch (Samuel Gaist) Date: Sun, 8 Jan 2017 23:47:26 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <1592362.N42PiacKGS@portia.local> References: <2623598.tKFN8rn2xa@bola> <3928013.GzEax30WDq@kerberos> <7691245.cO9oYgyOiP@bola> <1592362.N42PiacKGS@portia.local> Message-ID: <27EADC4F-1474-4A83-B3C3-CDB99C96BF06@edeltech.ch> > On 8 Jan 2017, at 19:09, René J.V. Bertin wrote: > > So... > > It seems we are indeed looking at a Qt regression. > > https://github.com/RJVB/shortcut-test-qt5 > > > That's an adapted version of Qt's menus example which adds a shortcut test action with a configurable shortcut string and commandline options to add it to the menubar and/or the context menu, plus an option NOT to use the native menubar. > > I cannot get shortcuts like Ctrl+! but also Meta+! (resp. Command+! and Ctrl+! on Mac) to work unless the action is a menuitem in the native menubar. > > That's with Qt 5.7.1; with Qt 5.6.2 they work as expected. > > Writing them as Ctrl+Shift+1 or Meta+Shift+1 makes them work, but that's not really a nice solution... > > Is there anyone who can try the above example with Qt 5.7.1 or newer, possibly compare it to Qt 5.6? > > Thanks! > > Hi, https://bugreports.qt.io/browse/QTBUG-57990 is about a similar problem for Ubuntu. Coming from this https://forum.qt.io/topic/74872/ forum thread. 5.7.0 works correctly for him but not 5.7.1 Regards Samuel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 801 bytes Desc: Message signed with OpenPGP URL: From michael.herzlich at gmx.net Mon Jan 9 08:28:50 2017 From: michael.herzlich at gmx.net (Michael Herzlich) Date: Mon, 9 Jan 2017 08:28:50 +0100 Subject: [Interest] How to improve Qt's QSS/CSS performance on embedded devices? Message-ID: An HTML attachment was scrubbed... URL: From aacid at kde.org Sat Jan 7 19:33:13 2017 From: aacid at kde.org (Albert Astals Cid) Date: Sat, 07 Jan 2017 19:33:13 +0100 Subject: [Interest] Fwd: Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <1483746784.nNjIY3OWhV@portia.local> References: <2623598.tKFN8rn2xa@bola> <30923606.WaAv6UrziB@asterixp50> <1483746784.nNjIY3OWhV@portia.local> Message-ID: <3106340.vnvrHyqDam@xps> El divendres, 6 de gener de 2017, a les 21:29:13 CET, René J.V. Bertin va escriure: > On Friday January 06 2017 18:33:01 David Faure wrote: > > Well, you didn't say either way, so I tried to guess from your > > description, > > and guessed wrong. > > No problem, can't be right all the time (and it's Friday night at that) ;) > > > > the shortcut shows up correctly (Command-<) but doesn't work. > > > > ... which brings me back to trying a simple QAction::setShortcut first. > > A bunch of observations already, from a simple test thingy I had lying > around, and reverting temporarily to Qt 5.6.2 : > > // QKeySequence(Ctrl+Comma) doesn't work probably because normally owned by > the system; doesn't show either. > > // shows as Shift-Command-, : > // restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + > Qt::Key_Comma)); // shows as Command-< : > // restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Less)); > // shows as Shift-Command-1 : > // restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + > Qt::Key_1)); // shows as Command-! : > restoreAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Exclam)); > > It's probably to expected that Ctrl+Shift+1 is shown as such, and Ctrl+! as > such too even if Qt could be aware of the kind of keyboard I have > configured. In this pure Qt code they all work as expected provided I'm not > trespassing on what is normally a system shortcut like Command+, (open > Preferences) which doesn't even appear in the menu. > > However: > - running the application with the XCB QPA still shows the shortcuts but > none work. the SwapCtrlAndMeta attribute is unset with the XCB plugin, so > shortcuts should function as on Linux/X11, and with KF5 applications they > do when. > > - In KF5 applications I have no problem redefining Command+; it will show in > the menu, but will continue to perform the system action > > - Important: Command+Shift+Letter shortcuts are not concerned, only > shortcuts that include a "special" symbol which is accessible only under > the shift. > > - This also applies to Ctrl+Shift+Key shortcuts: Ctrl+! and Ctrl+< are just > as dead as Command+! and Command+< . In KF5 applications but not in pure > Qt. > > - Adding some debug print probes in QNSView:keyDown: and QNSView:keyUp: I > notice the following when defining a keycut with kxmlgui (the > standard_actions KCM): > > * press Ctrl[+Shift]+key, release key: keyDown event followed by keyUp event > when I release * press Command[+Shift]+key, release key: only a > keyDown event, no keyUp event. > > Does kxmlgui shortcut recorder depend on keyUp/keyRelease events? If so, is > there a way to monitor them (or where would I add a snooper without having > to rewrite significant parts of unknown code? I'd add probes in Qt 5.6.2 > but no longer have the build directory (and rebuilding would take hours). > > I did reactivate Qt 5.6.2 and all the 5.29.0 frameworks that I had rebuilt > against 5.7.1 . All frameworks were thus built against 5.6.2 . > > This did NOT restore Command+Shift+Key functionality meaning that this > particular regression was probably introduced between frameworks 5.27.0 and > 5.29.0 . > > What does work with 5.6.2 is Ctrl+Shift+Symbol (tested with Ctrl-< in > Kate5). Going back to Qt 5.6.2 restored the regression. I saved that > shortcut to the default scheme so I could look at it, for instance: > > > > On Mac/Cocoa this corresponds to main "Ctrl+," and alt. "Command+<" (the > difference was only to be sure how the comma is stored). The main shortcut > works, the alternative doesn't. I tried editing this to "Meta+Shift+,; > Ctrl+Shift+,;", but kxmlgui converts that to to shortcuts "Ctrl+," and > "Command+<" (sic!). The former works as such, the latter doesn't. > > All in all I'm tempted to say that the regression lies mostly in KF5 and the > way it interacts with Qt. > > For now I'm converting my crucial concerned shortcuts to Ctrl+Command+Key > because that works ... You're a developer, you can reproduce the problem in one version and not in another, instead of workarounding the problem you should bisect it until you find where it broke. Cheers, Albert > > R. From jhihn at gmx.com Mon Jan 9 13:49:09 2017 From: jhihn at gmx.com (Jason H) Date: Mon, 9 Jan 2017 13:49:09 +0100 Subject: [Interest] How to improve Qt's QSS/CSS performance on embedded devices? In-Reply-To: References: Message-ID: What are you changing in the QSS? If it's just colors, just use QPalette. > Sent: Monday, January 09, 2017 at 8:28 AM > From: "Michael Herzlich" > To: interest at qt-project.org > Subject: [Interest] How to improve Qt's QSS/CSS performance on embedded devices? > > > > Hi Qt developers, >   > I ran into performance problems with Qt for embedded Linux 4.8.3 on custom hardware. The styling of the UI is done with QSS and no custom painting code. > There are multiple measurements visualized in this post in the Qt-forum: > https://forum.qt.io/topic/74733/how-to-improve-qt-s-qss-css-performance-on-embedded-devices >   > I got a hint to post this topic to the mailing list. Maybe someone has experiences with the styling framework on low-performance hardware and tips for optimization? Answers such as "you should not have gone for the QSS at all" are also fine,... sad... but fine ;-) >  _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From harald.vistnes at gmail.com Mon Jan 9 14:05:06 2017 From: harald.vistnes at gmail.com (Harald Vistnes) Date: Mon, 9 Jan 2017 14:05:06 +0100 Subject: [Interest] Qt3D - QRenderSurfaceSelector Message-ID: Hi, QRenderSurfaceSelector::setSurface accepts a QWindow or a QOffscreenSurface. Is there any example code on how to use QOffscreenSurface with Qt3D? How is intended to be used? Is it possible to combine QOffscreenSurface with QRenderCapture to render images in command line applications without any windows open? Thanks, Harald -------------- next part -------------- An HTML attachment was scrubbed... URL: From gourmand at inbox.ru Mon Jan 9 16:04:57 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Mon, 09 Jan 2017 18:04:57 +0300 Subject: [Interest] =?utf-8?q?_SVG2_Mesh_Gradient_-_will_be_implemented=3F?= =?utf-8?q?_When=3F?= Message-ID: <1483974297.715441499@f365.i.mail.ru> This feature existed in Inkscape for long time before but was "hidden" (possible open by editing some config files). In latest version of Inkscape 0.92 this very useful feature appeared as open. And it existed in Adobe Illustrator for years. This is a standard svg2 feature allowing create "conical" gradients in single closed objects. Even it allows create curved gradients. This helps draw many 3D-like looking objects, natural looking dial knobs and so on. But current QSvgRenderer does not support this feature. I just tested - it draws nothing if Mesh gradient is used. So... Are there plans for this feature in QSvgRenderer? Does anybody work on it? -- Serge K -------------- next part -------------- An HTML attachment was scrubbed... URL: From Shawn.Rutledge at qt.io Mon Jan 9 16:16:15 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Mon, 9 Jan 2017 15:16:15 +0000 Subject: [Interest] SVG2 Mesh Gradient - will be implemented? When? In-Reply-To: <1483974297.715441499@f365.i.mail.ru> References: <1483974297.715441499@f365.i.mail.ru> Message-ID: <3F4C4BB5-E2FE-4C01-8FAF-6E2F7CE6879E@qt.io> > On 9 Jan 2017, at 16:04, Serge K via Interest wrote: > > This feature existed in Inkscape for long time before but was "hidden" (possible open by editing some config files). In latest version of Inkscape 0.92 this very useful feature appeared as open. And it existed in Adobe Illustrator for years. This is a standard svg2 feature allowing create "conical" gradients in single closed objects. Even it allows create curved gradients. This helps draw many 3D-like looking objects, natural looking dial knobs and so on. But current QSvgRenderer does not support this feature. I just tested - it draws nothing if Mesh gradient is used. So... Are there plans for this feature in QSvgRenderer? Does anybody work on it? No, nobody is working on QtSvg, unfortunately. SVG Tiny is supported, and lots of other cool stuff is omitted. If you want a real up-to-date SVG renderer you’ll have to look elsewhere… webengine for example. From annulen at yandex.ru Mon Jan 9 16:37:39 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Mon, 09 Jan 2017 18:37:39 +0300 Subject: [Interest] SVG2 Mesh Gradient - will be implemented? When? In-Reply-To: <3F4C4BB5-E2FE-4C01-8FAF-6E2F7CE6879E@qt.io> References: <1483974297.715441499@f365.i.mail.ru> <3F4C4BB5-E2FE-4C01-8FAF-6E2F7CE6879E@qt.io> Message-ID: <105151483976259@web24g.yandex.ru> 09.01.2017, 18:16, "Shawn Rutledge" : >>  On 9 Jan 2017, at 16:04, Serge K via Interest wrote: >> >>  This feature existed in Inkscape for long time before but was "hidden" (possible open by editing some config files). In latest version of Inkscape 0.92 this very useful feature appeared as open. And it existed in Adobe Illustrator for years. This is a standard svg2 feature allowing create "conical" gradients in single closed objects. Even it allows create curved gradients. This helps draw many 3D-like looking objects, natural looking dial knobs and so on. But current QSvgRenderer does not support this feature. I just tested - it draws nothing if Mesh gradient is used. So... Are there plans for this feature in QSvgRenderer? Does anybody work on it? > > No, nobody is working on QtSvg, unfortunately. SVG Tiny is supported, and lots of other cool stuff is omitted. > > If you want a real up-to-date SVG renderer you’ll have to look elsewhere… webengine for example. QtWebKit can be used to paint SVG anywhere with user-supplied QPainter, and also does not require launching background processes to do that. Though neither WebKit nor Chromium support mesh gradients currently. You can count on decent SVG 1.1 (not tiny) implementation, though. -- Regards, Konstantin From thiago.macieira at intel.com Mon Jan 9 18:39:34 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 09 Jan 2017 09:39:34 -0800 Subject: [Interest] How to improve Qt's QSS/CSS performance on embedded devices? In-Reply-To: References: Message-ID: <10821881.atCYJgKoIh@tjmaciei-mobl1> On segunda-feira, 9 de janeiro de 2017 08:28:50 PST Michael Herzlich wrote: > Hi Qt developers, > > I ran into performance problems with Qt for embedded Linux 4.8.3 on custom > hardware. The styling of the UI is done with QSS and no custom painting > code. There are multiple measurements visualized in this post in the > Qt-forum: > https://forum.qt.io/topic/74733/how-to-improve-qt-s-qss-css-performance-on-> embedded-devices > I got a hint to post this topic to the mailing list. Maybe someone has > experiences with the styling framework on low-performance hardware and tips > for optimization? Answers such as "you should not have gone for the QSS at > all" are also fine,... sad... but fine ;-) First of all, upgrade to at the very least 4.8.7. Second, schedule a port to Qt 5. Third, like Jason said, the way to improve performance with stylesheets is to make them smaller. Not by removing spaces, but by removing selectors. Use stylesheets as little as you can. They're meant for final touches in UIs, not for designing UIs. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From jhihn at gmx.com Mon Jan 9 20:01:26 2017 From: jhihn at gmx.com (Jason H) Date: Mon, 9 Jan 2017 20:01:26 +0100 Subject: [Interest] How to ssh-in then connect to a database in Qt? Message-ID: This one is a head scratcher for me. I want to write a Qt app that connects to a server running SSH, then connect to a database behind it, as it's not internet accessible. MySQLWorkbench and others can do this. I'm wondering if there is a way d do this in Qt? (Currently the DB is Mysql, but plan to move to Postgres later)/ I guess the fall-back is to use a SSH tunnel via command line? From annulen at yandex.ru Mon Jan 9 20:05:21 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Mon, 09 Jan 2017 22:05:21 +0300 Subject: [Interest] How to ssh-in then connect to a database in Qt? In-Reply-To: References: Message-ID: <868611483988721@web7g.yandex.ru> 09.01.2017, 22:01, "Jason H" : > This one is a head scratcher for me. I want to write a Qt app that connects to a server running SSH, then connect to a database behind it, as it's not internet accessible. MySQLWorkbench and others can do this. I'm wondering if there is a way d do this in Qt? (Currently the DB is Mysql, but plan to move to Postgres later)/ > > I guess the fall-back is to use a SSH tunnel via command line? I'd rather said it's the preferred option, except that you can set up tunnel automatically inside application by running ssh client via QProcess. -- Regards, Konstantin From thiago.macieira at intel.com Mon Jan 9 20:09:07 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 09 Jan 2017 11:09:07 -0800 Subject: [Interest] How to ssh-in then connect to a database in Qt? In-Reply-To: References: Message-ID: <4260436.2oWoIif91l@tjmaciei-mobl1> On segunda-feira, 9 de janeiro de 2017 20:01:26 PST Jason H wrote: > This one is a head scratcher for me. I want to write a Qt app that connects > to a server running SSH, then connect to a database behind it, as it's not > internet accessible. MySQLWorkbench and others can do this. I'm wondering > if there is a way d do this in Qt? (Currently the DB is Mysql, but plan to > move to Postgres later)/ > > I guess the fall-back is to use a SSH tunnel via command line? Launch your ssh process that opens the tunnel, then addDatabase with the correct credentials (especially the port number). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From ev.mipt at gmail.com Mon Jan 9 21:51:02 2017 From: ev.mipt at gmail.com (Oleg Evseev) Date: Mon, 9 Jan 2017 23:51:02 +0300 Subject: [Interest] [Qt3D] Diffusemap alpha Message-ID: Hi, I was wondered why Qt3D diffusemap material doesn't implement texture alpha for fragColor or why there no diffuseMapAlpha material at least. I tried to modify diffusemap.frag by analogy with normaldiffusemapalpha.frag set diffuseTextureColor as vec4 and make fragColor = vec4( diffuseTextureColor.rgb * ( ka + diffuseColor ) + ks * specularColor, diffuseTextureColor.a ); Alpha works, but there is ambient color that mess the transparency effect I want. I tried without ka component but got transparent black color. But at least in this case zero texture alpha make fully transparent. Then I encountered on unlittexture.frag and TextureMaterial.qml that use it (by the way why there is no corresponding QTextureMaterial?) that just set diffuseTextureColor to fragColor: fragColor = texture( diffuseTexture, texCoord ); But I got effect like there is white ambient summed with transparent texture color. With zero texture alpha I've got white non transparent object. I'm new in shaders, I'm confused with such behavior. Thanks in advance for any explanations! --- Regards, Oleg. -------------- next part -------------- An HTML attachment was scrubbed... URL: From etienne.sandre at m4x.org Tue Jan 10 14:22:45 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Tue, 10 Jan 2017 14:22:45 +0100 Subject: [Interest] Compile a debug build and link with release Qt Message-ID: Hi, What is the most simple way with QtCreator/qmake to set up a target for debugging a project while linking with a release Qt ? I have a project which takes forever to link in debug mode, and the executable is 600MB large. Since 95% of the time I am debugging code which is not interacting with the Qt API, I do not need to debug through Qt code. The RELEASE qmake flag basically switches everything. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From jtykka at broadsoft.com Tue Jan 10 14:23:32 2017 From: jtykka at broadsoft.com (Jani Tykka) Date: Tue, 10 Jan 2017 15:23:32 +0200 Subject: [Interest] Suppressing Q_ASSERT on release builds Message-ID: Hi, I'm trying to suppress Q_ASSERT to trigger assertion from qtwebengine on release build. It seems that QT_NO_DEBUG doesn't get defined when 3rd party libraries are built. Which means that if any 3rd party component includes qglobal.h will then end up defining Q_ASSERT in a way which is not desired for release builds. If I explicitly define precompiler macro during "configure" then that will be seen by 3rd party components. I think this is problem in Qt build system. QT_NO_DEBUG should end up to all components being build. Any thoughts, ideas, experience on this area? How to get this fixed? Of course I can define QT_NO_DEBUG in configure, but then in case when I want to build with --debug-and-release I'd need to make to separate builds to allow assertions on with debug builds. Thanks -- This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. If you are not the intended recipient and have received this email in error, please notify BroadSoft, Inc. immediately by replying to this message, and destroy all copies of this message, along with any attachment, prior to reading, distributing or copying it. From jeanmichael.celerier at gmail.com Tue Jan 10 15:13:25 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Tue, 10 Jan 2017 15:13:25 +0100 Subject: [Interest] Compile a debug build and link with release Qt In-Reply-To: References: Message-ID: On Tue, Jan 10, 2017 at 2:22 PM, Etienne Sandré-Chardonnal < etienne.sandre at m4x.org> wrote: > and the executable is 600MB large If you're on linux, you could try debug fission, it makes for a much better experience : https://gcc.gnu.org/wiki/DebugFission -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Jan 10 16:31:51 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 10 Jan 2017 07:31:51 -0800 Subject: [Interest] Compile a debug build and link with release Qt In-Reply-To: References: Message-ID: <6035367.NMKLACDIyO@tjmaciei-mobl1> Em terça-feira, 10 de janeiro de 2017, às 14:22:45 PST, Etienne Sandré- Chardonnal escreveu: > Hi, > > What is the most simple way with QtCreator/qmake to set up a target for > debugging a project while linking with a release Qt ? > > I have a project which takes forever to link in debug mode, and the > executable is 600MB large. Since 95% of the time I am debugging code which > is not interacting with the Qt API, I do not need to debug through Qt code. > > The RELEASE qmake flag basically switches everything. I'm guessing you're talking about Windows, which has different and incompatible builds of debug and release libraries. Actually, that applies only to Visual Studio -- the MinGW DLLs are compatible with each other. But your question does not make sense. The linking time applies only to your own code. If you're debugging, you need to build your own code in debug mode and since the linking time is proportional to the size of your own codebase, it'll be as slow as it needs to be. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Tue Jan 10 16:35:46 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 10 Jan 2017 07:35:46 -0800 Subject: [Interest] Suppressing Q_ASSERT on release builds In-Reply-To: References: Message-ID: <7732086.ZdMCRtaG4A@tjmaciei-mobl1> Em terça-feira, 10 de janeiro de 2017, às 15:23:32 PST, Jani Tykka escreveu: > It seems that QT_NO_DEBUG doesn't get defined when 3rd party libraries > are built. Which means that if any 3rd party component includes > qglobal.h will then end up defining Q_ASSERT in a way which is not > desired for release builds. Are you talking about 3rdparty components that are used inside Qt? Which one is including qglobal.h? > If I explicitly define precompiler macro during "configure" then that > will be seen by 3rd party components. > > I think this is problem in Qt build system. QT_NO_DEBUG should end up > to all components being build. Any thoughts, ideas, experience on this > area? How to get this fixed? Of course I can define QT_NO_DEBUG in > configure, but then in case when I want to build with > --debug-and-release I'd need to make to separate builds to allow > assertions on with debug builds. QT_NO_DEBUG is defined if you compile in release mode. It's right there in qt.prf: CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG The macro wouldn't get defined if the .pro file does CONFIG -= qt. Can you point to which one(s) those are? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From etienne.sandre at m4x.org Tue Jan 10 16:38:45 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Tue, 10 Jan 2017 16:38:45 +0100 Subject: [Interest] Compile a debug build and link with release Qt In-Reply-To: <6035367.NMKLACDIyO@tjmaciei-mobl1> References: <6035367.NMKLACDIyO@tjmaciei-mobl1> Message-ID: Hi Thiago, I am using MinGW, but I link Qt statically. This perfectly makes sense! But I forgot to mention it... 2017-01-10 16:31 GMT+01:00 Thiago Macieira : > Em terça-feira, 10 de janeiro de 2017, às 14:22:45 PST, Etienne Sandré- > Chardonnal escreveu: > > Hi, > > > > What is the most simple way with QtCreator/qmake to set up a target for > > debugging a project while linking with a release Qt ? > > > > I have a project which takes forever to link in debug mode, and the > > executable is 600MB large. Since 95% of the time I am debugging code > which > > is not interacting with the Qt API, I do not need to debug through Qt > code. > > > > The RELEASE qmake flag basically switches everything. > > I'm guessing you're talking about Windows, which has different and > incompatible builds of debug and release libraries. Actually, that applies > only to Visual Studio -- the MinGW DLLs are compatible with each other. > > But your question does not make sense. The linking time applies only to > your > own code. If you're debugging, you need to build your own code in debug > mode > and since the linking time is proportional to the size of your own > codebase, > it'll be as slow as it needs to be. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Jan 10 16:54:17 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 10 Jan 2017 07:54:17 -0800 Subject: [Interest] Compile a debug build and link with release Qt In-Reply-To: References: <6035367.NMKLACDIyO@tjmaciei-mobl1> Message-ID: <4793799.UcFZpoiqj5@tjmaciei-mobl1> On terça-feira, 10 de janeiro de 2017 16:38:45 PST Etienne Sandré-Chardonnal wrote: > Hi Thiago, > > I am using MinGW, but I link Qt statically. This perfectly makes sense! But > I forgot to mention it... And your answer lies right there. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From etienne.sandre at m4x.org Tue Jan 10 17:08:56 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Tue, 10 Jan 2017 17:08:56 +0100 Subject: [Interest] Compile a debug build and link with release Qt In-Reply-To: <4793799.UcFZpoiqj5@tjmaciei-mobl1> References: <6035367.NMKLACDIyO@tjmaciei-mobl1> <4793799.UcFZpoiqj5@tjmaciei-mobl1> Message-ID: I might be tired but I do not see... I know that if I compile manually, I can use the "-g" flag for debugging, and link with the release Qt library files. But, if I qmake with CONFIG+=RELEASE, qt links with the release library, sets -O2 and does not produce debugging info. This means I would need to change the mkspec files, but I still want to keep a true release mode Is there a better way? Etienne 2017-01-10 16:54 GMT+01:00 Thiago Macieira : > On terça-feira, 10 de janeiro de 2017 16:38:45 PST Etienne > Sandré-Chardonnal > wrote: > > Hi Thiago, > > > > I am using MinGW, but I link Qt statically. This perfectly makes sense! > But > > I forgot to mention it... > > And your answer lies right there. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gourmand at inbox.ru Tue Jan 10 18:37:20 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Tue, 10 Jan 2017 20:37:20 +0300 Subject: [Interest] =?utf-8?q?_Needed_working_stop/start_for_animated_SVG?= Message-ID: <1484069840.518864899@f242.i.mail.ru> I created widget with animated SVG for my projects. It starts after loading if signal svg->repaintNeeded() is connected to update() of my widget. To stop and restart it I found a hack - disconnect this signal and reload SVG image. In Windows and Linux this stops animation. Stupid but working. But now I use this widget for project on Andriod (using QML is not the way, QML is too weak and lame for me). But I cannot stop SVG animation on Android. It runs always. It does not depend from any connections, framerate, reloading, so on. Of course I can use another hack - to stop animation I can load non-animated image and to start I can load animated again. BUT... This looks too much "micro$oftish" and stupid. NOT A Qt WAY. And with this hack animation won't stop in it's "current" position - it will always start from beginning. I do not need this. Of course I could patch Qt code and rewrite QSvgRenderer class. I could add start() and stop() functions to control internal d->timer - it emits ticks for animation frames. BUT WHY THIS WAS NOT DONE BEFORE??? :-((( -- Serge K -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Tue Jan 10 18:41:39 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Tue, 10 Jan 2017 20:41:39 +0300 Subject: [Interest] Needed working stop/start for animated SVG In-Reply-To: <1484069840.518864899@f242.i.mail.ru> References: <1484069840.518864899@f242.i.mail.ru> Message-ID: <3715941484070099@web13g.yandex.ru> 10.01.2017, 20:37, "Serge K via Interest" : > I created widget with animated SVG for my projects. It starts after loading if signal svg->repaintNeeded() is connected to update() of my widget. To stop and restart it I found a hack - disconnect this signal and reload SVG image. In Windows and Linux this stops animation. Stupid but working. But now I use this widget for project on Andriod (using QML is not the way, QML is too weak and lame for me). But I cannot stop SVG animation on Android. It runs always. It does not depend from any connections, framerate, reloading, so on. Of course I can use another hack - to stop animation I can load non-animated image and to start I can load animated again. > > BUT... This looks too much "micro$oftish" and stupid. NOT A Qt WAY. And with this hack animation won't stop in it's "current" position - it will always start from beginning. I do not need this. > > Of course I could patch Qt code and rewrite QSvgRenderer class. I could add start() and stop() functions to control internal d->timer - it emits ticks for animation frames. BUT WHY THIS WAS NOT DONE BEFORE??? :-((( Because you haven't done it > > -- > Serge K , > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From gourmand at inbox.ru Tue Jan 10 18:55:26 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Tue, 10 Jan 2017 20:55:26 +0300 Subject: [Interest] =?utf-8?q?Needed_working_stop/start_for_animated_SVG?= In-Reply-To: <3715941484070099@web13g.yandex.ru> References: <1484069840.518864899@f242.i.mail.ru> <3715941484070099@web13g.yandex.ru> Message-ID: <1484070926.604020454@f307.i.mail.ru> SVG animation appeared first in Qt 4.1. I used it in Qt 5. Just needed stop and start timer with two methods. WHY THIS WAS NOT DONE BEFORE??? IN FIRST 4.1 RELEASE? :-((( >Вторник, 10 января 2017, 20:41 +03:00 от Konstantin Tokarev : > > > >10.01.2017, 20:37, "Serge K via Interest" < interest at qt-project.org >: >> I created widget with animated SVG for my projects. It starts after loading if signal svg->repaintNeeded() is connected to update() of my widget. To stop and restart it I found a hack - disconnect this signal and reload SVG image. In Windows and Linux this stops animation. Stupid but working. But now I use this widget for project on Andriod (using QML is not the way, QML is too weak and lame for me). But I cannot stop SVG animation on Android. It runs always. It does not depend from any connections, framerate, reloading, so on. Of course I can use another hack - to stop animation I can load non-animated image and to start I can load animated again. >> >> BUT... This looks too much "micro$oftish" and stupid. NOT A Qt WAY. And with this hack animation won't stop in it's "current" position - it will always start from beginning. I do not need this. >> >> Of course I could patch Qt code and rewrite QSvgRenderer class. I could add start() and stop() functions to control internal d->timer - it emits ticks for animation frames. BUT WHY THIS WAS NOT DONE BEFORE??? :-((( > >Because you haven't done it > >> >> -- >> Serge K , >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > >-- >Regards, >Konstantin -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Jan 10 19:08:17 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 10 Jan 2017 10:08:17 -0800 Subject: [Interest] Compile a debug build and link with release Qt In-Reply-To: References: <4793799.UcFZpoiqj5@tjmaciei-mobl1> Message-ID: <1698596.AnsjxiuxQ3@tjmaciei-mobl1> Em terça-feira, 10 de janeiro de 2017, às 17:08:56 PST, Etienne Sandré- Chardonnal escreveu: > I might be tired but I do not see... Don't do static linking while debugging. > I know that if I compile manually, I can use the "-g" flag for debugging, > and link with the release Qt library files. > > But, if I qmake with CONFIG+=RELEASE, qt links with the release library, > sets -O2 and does not produce debugging info. Right. > This means I would need to change the mkspec files, but I still want to > keep a true release mode Hack: delete the *d.a files and rename the release *.a over them. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From rjvbertin at gmail.com Tue Jan 10 19:55:37 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Tue, 10 Jan 2017 19:55:37 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <27EADC4F-1474-4A83-B3C3-CDB99C96BF06@edeltech.ch> References: <2623598.tKFN8rn2xa@bola> <1592362.N42PiacKGS@portia.local> <27EADC4F-1474-4A83-B3C3-CDB99C96BF06@edeltech.ch> Message-ID: <1670191.4L90Qjpndf@bola> On Sunday January 8 2017 23:47:26 Samuel Gaist wrote: Hi, >https://bugreports.qt.io/browse/QTBUG-57990 is about a similar problem for Ubuntu. >Coming from this https://forum.qt.io/topic/74872/ forum thread. > >5.7.0 works correctly for him but not 5.7.1 Thanks for this. I added my 2 cents to the bug report. Sadly I skipped 5.7.0 so I don't know if my issue existed there. What I do know is that there are some reasons to believe that the Command+Shift shortcut issue is due to a regression in the Cocoa plugin, but that the only distinctive differences in that part of the code that are clearly related to shortcuts are apparently not to blame. (Easy to revert and that didn't solve anything for me.) R. From jhihn at gmx.com Tue Jan 10 19:56:52 2017 From: jhihn at gmx.com (Jason H) Date: Tue, 10 Jan 2017 19:56:52 +0100 Subject: [Interest] Needed working stop/start for animated SVG In-Reply-To: <1484070926.604020454@f307.i.mail.ru> References: <1484069840.518864899@f242.i.mail.ru> <3715941484070099@web13g.yandex.ru>, <1484070926.604020454@f307.i.mail.ru> Message-ID: An HTML attachment was scrubbed... URL: From gourmand at inbox.ru Tue Jan 10 20:14:52 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Tue, 10 Jan 2017 22:14:52 +0300 Subject: [Interest] =?utf-8?q?Fwd=3A_Re=5B2=5D=3A___Needed_working_stop/st?= =?utf-8?q?art_for_animated_SVG?= Message-ID: <1484075692.113411515@f140.i.mail.ru> May be - then this is a bug in Qt for Android. Right now I found another bug - QSound::play() in Android stops playing WAV after several times if playing fast. >Вторник, 10 января 2017, 21:56 +03:00 от "Jason H" < jhihn at gmx.com >: > >Well android wasn't around in 4.1 days... it seems the Android drawable system is running the animation, not Qt.  >  >Sent:  Tuesday, January 10, 2017 at 12:55 PM >From:  "Serge K via Interest" < interest at qt-project.org > >To:  interest < interest at qt-project.org > >Subject:  Re: [Interest] Needed working stop/start for animated SVG > >SVG animation appeared first in Qt 4.1. I used it in Qt 5. > >Just needed stop and start timer with two methods. WHY THIS WAS NOT DONE BEFORE??? IN FIRST 4.1 RELEASE? :-((( >  Вторник, 10 января 2017, 20:41 +03:00 от Konstantin Tokarev < annulen at yandex.ru >: >>  >> >> >>10.01.2017, 20:37, "Serge K via Interest" < interest at qt-project.org >: >>> I created widget with animated SVG for my projects. It starts after loading if signal svg->repaintNeeded() is connected to update() of my widget. To stop and restart it I found a hack - disconnect this signal and reload SVG image. In Windows and Linux this stops animation. Stupid but working. But now I use this widget for project on Andriod (using QML is not the way, QML is too weak and lame for me). But I cannot stop SVG animation on Android. It runs always. It does not depend from any connections, framerate, reloading, so on. Of course I can use another hack - to stop animation I can load non-animated image and to start I can load animated again. >>> >>> BUT... This looks too much "micro$oftish" and stupid. NOT A Qt WAY. And with this hack animation won't stop in it's "current" position - it will always start from beginning. I do not need this. >>> >>> Of course I could patch Qt code and rewrite QSvgRenderer class. I could add start() and stop() functions to control internal d->timer - it emits ticks for animation frames. BUT WHY THIS WAS NOT DONE BEFORE??? :-((( >> >>Because you haven't done it >> >>> >>> -- >>> Serge K , >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >> >> >>-- >>Regards, >>Konstantin >_______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ---------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From hamish at risingsoftware.com Wed Jan 11 00:27:50 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Wed, 11 Jan 2017 10:27:50 +1100 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <7116665.vUsRmqUo9f@portia.local> References: <1608959.cXNNtQncYQ@portia.local> <2802362.FmZd6SLWCx@patux.local> <2032941.p23Qplfiod@tjmaciei-mobl1> <7116665.vUsRmqUo9f@portia.local> Message-ID: <4ec26b2d-cab0-ce8c-06fe-92dc40f4c9f8@risingsoftware.com> On 03/01/17 09:25, René J. V. Bertin wrote: > Thiago Macieira wrote: > >> Qt 5.7 and up requires C++11, including initialiser lists. > FWIW: I understand that should be available even on OS X 10.7 when you install a > recent libc++ and clang compiler. Not for the faint of heart, and it won't > compensate for any missing ObjC features. > We use Qt 5.6 on OS X 10.11 with standard Xcode and C++11 support is fine, including runtime on OS X back to 10.7. No special library installation required. Qt 5.7 requires at least OS X 10.8 to run though, according to https://wiki.qt.io/Qt-5.7.0-tools-and-versions . I'm not sure why. Hamish From thiago.macieira at intel.com Wed Jan 11 00:41:18 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 10 Jan 2017 15:41:18 -0800 Subject: [Interest] initialising a dictionary-type container instance with a static table? In-Reply-To: <4ec26b2d-cab0-ce8c-06fe-92dc40f4c9f8@risingsoftware.com> References: <1608959.cXNNtQncYQ@portia.local> <7116665.vUsRmqUo9f@portia.local> <4ec26b2d-cab0-ce8c-06fe-92dc40f4c9f8@risingsoftware.com> Message-ID: <1583187.j33cPa4UvD@tjmaciei-mobl1> On quarta-feira, 11 de janeiro de 2017 10:27:50 PST Hamish Moffatt wrote: > Qt 5.7 requires at least OS X 10.8 to run though, according to > https://wiki.qt.io/Qt-5.7.0-tools-and-versions . I'm not sure why. Because we dropped support by removing deprecated function calls. Qt 5.8 requires 10.9 and Qt 5.9 will require 10.10. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From andy.shaw at qt.io Wed Jan 11 07:08:39 2017 From: andy.shaw at qt.io (Andy Shaw) Date: Wed, 11 Jan 2017 06:08:39 +0000 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <1670191.4L90Qjpndf@bola> References: <2623598.tKFN8rn2xa@bola> <1592362.N42PiacKGS@portia.local> <27EADC4F-1474-4A83-B3C3-CDB99C96BF06@edeltech.ch> <1670191.4L90Qjpndf@bola> Message-ID: <8495D3A3-90BB-437B-976E-1CFDC610A31A@qt.io> I have been doing some patches lately (i.e. yesterday and the day before) to fix shortcuts (these have been reported on JIRA already too) on Cocoa so I don’t know if this is addressed already in Qt 5.8.x as a result. But it might be worth keeping an eye on that to see if it is working there too. Andy Interest på vegne av René J.V. Bertin skrev følgende den 10.01.2017, 19.55: On Sunday January 8 2017 23:47:26 Samuel Gaist wrote: Hi, >https://bugreports.qt.io/browse/QTBUG-57990 is about a similar problem for Ubuntu. >Coming from this https://forum.qt.io/topic/74872/ forum thread. > >5.7.0 works correctly for him but not 5.7.1 Thanks for this. I added my 2 cents to the bug report. Sadly I skipped 5.7.0 so I don't know if my issue existed there. What I do know is that there are some reasons to believe that the Command+Shift shortcut issue is due to a regression in the Cocoa plugin, but that the only distinctive differences in that part of the code that are clearly related to shortcuts are apparently not to blame. (Easy to revert and that didn't solve anything for me.) R. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From frank at ohufx.com Wed Jan 11 07:14:49 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Wed, 11 Jan 2017 19:14:49 +1300 Subject: [Interest] suppressing "modalSession has been exited prematurely - check for a reentrant call to endModalSession:" Message-ID: Hi all, happy 2017! In my current GUI code I have a few simple QDialogs that are called via their exec_() methods. Unfortunately with the version of QT that I have to use there is this bug that spits out this warning under OSX when such modal dialogs are closed again: "modalSession has been exited prematurely - check for a reentrant call to endModalSession" I may re-write the code to use QDialog.open() instead and refactor everything so use QDialog's respective signals. But before I do that I thought I'd check in to see of there is an easy way to suppress this warning as it is benign afaik?! Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ohufxLogo_50x50.png Type: image/png Size: 2666 bytes Desc: not available URL: From rjvbertin at gmail.com Wed Jan 11 09:10:04 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 11 Jan 2017 09:10:04 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <8495D3A3-90BB-437B-976E-1CFDC610A31A@qt.io> References: <2623598.tKFN8rn2xa@bola> <1670191.4L90Qjpndf@bola> <8495D3A3-90BB-437B-976E-1CFDC610A31A@qt.io> Message-ID: <2929954.MVkJJrNiPR@bola> On Wednesday January 11 2017 06:08:39 Andy Shaw wrote: Hi, >I have been doing some patches lately (i.e. yesterday and the day before) to fix shortcuts (these have been reported on JIRA already too) on Cocoa so I don’t know if this is addressed already in Qt 5.8.x as a result. But it might be worth keeping an eye on that to see if it is working there too. I usually avoid .0 releases but if 5.8.0 is taking the role of a 5.7.3+ bug release in addition to introducing new features that would change things. provided it still supports OS X 10.9 . What's its ETA? Any chance those patches can be backported without serious refactoring? Supposing 5.8 has seen considerable internal overhauling it would be interesting to know it the issue in 5.7.1 is the same as the one in 5.8, no? R. From andy.shaw at qt.io Wed Jan 11 09:16:29 2017 From: andy.shaw at qt.io (Andy Shaw) Date: Wed, 11 Jan 2017 08:16:29 +0000 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <2929954.MVkJJrNiPR@bola> References: <2623598.tKFN8rn2xa@bola> <1670191.4L90Qjpndf@bola> <8495D3A3-90BB-437B-976E-1CFDC610A31A@qt.io> <2929954.MVkJJrNiPR@bola> Message-ID: <98CB8396-F0BD-4195-B22A-9A4E2DFC3BDD@qt.io> Hi, Qt 5.8.0 is in essence taking on the role of 5.7.3 I believe and it should be out in a week or so, but one of these patches will be in 5.8.1 and not 5.8.0 in any case. They can be applied to 5.7.x without any problem as this code has not really changed much since Qt 5.7.0, the ones I am thinking of at least which would be worth looking at are: https://codereview.qt-project.org/#/c/181777/ https://codereview.qt-project.org/#/c/175556/ as this has helped improve things a fair bit. Andy René J.V. Bertin skrev følgende den 11.01.2017, 09.10: On Wednesday January 11 2017 06:08:39 Andy Shaw wrote: Hi, >I have been doing some patches lately (i.e. yesterday and the day before) to fix shortcuts (these have been reported on JIRA already too) on Cocoa so I don’t know if this is addressed already in Qt 5.8.x as a result. But it might be worth keeping an eye on that to see if it is working there too. I usually avoid .0 releases but if 5.8.0 is taking the role of a 5.7.3+ bug release in addition to introducing new features that would change things. provided it still supports OS X 10.9 . What's its ETA? Any chance those patches can be backported without serious refactoring? Supposing 5.8 has seen considerable internal overhauling it would be interesting to know it the issue in 5.7.1 is the same as the one in 5.8, no? R. From jtykka at broadsoft.com Wed Jan 11 09:52:44 2017 From: jtykka at broadsoft.com (Jani Tykka) Date: Wed, 11 Jan 2017 10:52:44 +0200 Subject: [Interest] Suppressing Q_ASSERT on release builds In-Reply-To: <7732086.ZdMCRtaG4A@tjmaciei-mobl1> References: <7732086.ZdMCRtaG4A@tjmaciei-mobl1> Message-ID: On Tue, Jan 10, 2017 at 5:35 PM, Thiago Macieira wrote: > Em terça-feira, 10 de janeiro de 2017, às 15:23:32 PST, Jani Tykka escreveu: >> It seems that QT_NO_DEBUG doesn't get defined when 3rd party libraries >> are built. Which means that if any 3rd party component includes >> qglobal.h will then end up defining Q_ASSERT in a way which is not >> desired for release builds. > > Are you talking about 3rdparty components that are used inside Qt? Which one > is including qglobal.h? > Yes, in qtbase: In file included from src/hb-blob.cc:32: In file included from src/hb-private.hh:33: In file included from ./config.h:25: In file included from ../../../include/QtCore/qatomic.h:1: In file included from ../../../include/QtCore/../../src/corelib/thread/qatomic.h:34: In file included from ../../../include/QtCore/qglobal.h:1: >> If I explicitly define precompiler macro during "configure" then that >> will be seen by 3rd party components. >> >> I think this is problem in Qt build system. QT_NO_DEBUG should end up >> to all components being build. Any thoughts, ideas, experience on this >> area? How to get this fixed? Of course I can define QT_NO_DEBUG in >> configure, but then in case when I want to build with >> --debug-and-release I'd need to make to separate builds to allow >> assertions on with debug builds. > > QT_NO_DEBUG is defined if you compile in release mode. It's right there in > qt.prf: > > CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG > > The macro wouldn't get defined if the .pro file does CONFIG -= qt. Can you point > to which one(s) those are? > Actually I was confused about the above hb-blob compiled without QT_NO_DEBUG and started blaming that qtwebengine does the same, but then I found that there is a bit different story: src/core/delegated_frame_node.cpp asserts in release builds since: #undef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 #endif Then see https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/AssertMacros.h > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Jani Tykkä Development Manager | BroadSoft, Inc. | +358 44 596 0587 | jtykka at broadsoft.com -- This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. If you are not the intended recipient and have received this email in error, please notify BroadSoft, Inc. immediately by replying to this message, and destroy all copies of this message, along with any attachment, prior to reading, distributing or copying it. From jtykka at broadsoft.com Wed Jan 11 09:58:29 2017 From: jtykka at broadsoft.com (Jani Tykka) Date: Wed, 11 Jan 2017 10:58:29 +0200 Subject: [Interest] Suppressing Q_ASSERT on release builds In-Reply-To: References: <7732086.ZdMCRtaG4A@tjmaciei-mobl1> Message-ID: ...Continuing (accidentally sent the mail) The fact that delegated_frame_node.cpp is asserting in release build is an issue in Qt that should be fixed. I ended up explicitly removing Q_ASSERTs from that file. We have been receiving these crash reports to our system from customers. The assert location is: 2016-11-22 08:41:04,791 QtLogger [0x700000117000] FATAL ASSERT: "texture->hasAlphaChannel() || !quadNeedsBlending" in file /opt/jenkins/workspace/qt5_git_osx_64/qt5/qtwebengine/src/core/delegated_frame_node.cpp, line 382 Next we'll see what happens when that assert is not triggered, will it cause issues somewhere else? Any ideas about that? There is no way to reproduce the issue. Thanks On Wed, Jan 11, 2017 at 10:52 AM, Jani Tykka wrote: > On Tue, Jan 10, 2017 at 5:35 PM, Thiago Macieira > wrote: >> Em terça-feira, 10 de janeiro de 2017, às 15:23:32 PST, Jani Tykka escreveu: >>> It seems that QT_NO_DEBUG doesn't get defined when 3rd party libraries >>> are built. Which means that if any 3rd party component includes >>> qglobal.h will then end up defining Q_ASSERT in a way which is not >>> desired for release builds. >> >> Are you talking about 3rdparty components that are used inside Qt? Which one >> is including qglobal.h? >> > > Yes, in qtbase: > > In file included from src/hb-blob.cc:32: > In file included from src/hb-private.hh:33: > In file included from ./config.h:25: > In file included from ../../../include/QtCore/qatomic.h:1: > In file included from > ../../../include/QtCore/../../src/corelib/thread/qatomic.h:34: > In file included from ../../../include/QtCore/qglobal.h:1: > >>> If I explicitly define precompiler macro during "configure" then that >>> will be seen by 3rd party components. >>> >>> I think this is problem in Qt build system. QT_NO_DEBUG should end up >>> to all components being build. Any thoughts, ideas, experience on this >>> area? How to get this fixed? Of course I can define QT_NO_DEBUG in >>> configure, but then in case when I want to build with >>> --debug-and-release I'd need to make to separate builds to allow >>> assertions on with debug builds. >> >> QT_NO_DEBUG is defined if you compile in release mode. It's right there in >> qt.prf: >> >> CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG >> >> The macro wouldn't get defined if the .pro file does CONFIG -= qt. Can you point >> to which one(s) those are? >> > > Actually I was confused about the above hb-blob compiled without > QT_NO_DEBUG and started blaming that qtwebengine does the same, but > then I found that there is a bit different story: > > src/core/delegated_frame_node.cpp asserts in release builds since: > > #undef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES > #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 > #endif > > Then see https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/AssertMacros.h > > > > > > >> >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > > > -- > Jani Tykkä > Development Manager | BroadSoft, Inc. | +358 44 596 0587 | jtykka at broadsoft.com -- Jani Tykkä Development Manager | BroadSoft, Inc. | +358 44 596 0587 | jtykka at broadsoft.com -- This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. If you are not the intended recipient and have received this email in error, please notify BroadSoft, Inc. immediately by replying to this message, and destroy all copies of this message, along with any attachment, prior to reading, distributing or copying it. From Shawn.Rutledge at qt.io Wed Jan 11 11:28:43 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Wed, 11 Jan 2017 10:28:43 +0000 Subject: [Interest] Needed working stop/start for animated SVG In-Reply-To: <1484075692.113411515@f140.i.mail.ru> References: <1484075692.113411515@f140.i.mail.ru> Message-ID: <74241485-0E00-4006-A2EC-70DA42178852@qt.io> > On 10 Jan 2017, at 20:14, Serge K via Interest wrote: > > > May be - then this is a bug in Qt for Android. Right now I found another bug - QSound::play() in Android stops playing WAV after several times if playing fast. You can write them both up at bugreports.qt.io. Be sure to provide an example. SVG animation is pretty rarely used AFAIK… I don’t remember hearing of anybody using it before, so it’s not surprising if there are bugs. You can also write a patch if you know what to do about it, and submit it to codereview.qt-project.org > Вторник, 10 января 2017, 21:56 +03:00 от "Jason H" : > > Well android wasn't around in 4.1 days... it seems the Android drawable system is running the animation, not Qt. > > Sent: Tuesday, January 10, 2017 at 12:55 PM > From: "Serge K via Interest" > To: interest > Subject: Re: [Interest] Needed working stop/start for animated SVG > > SVG animation appeared first in Qt 4.1. I used it in Qt 5. > > Just needed stop and start timer with two methods. WHY THIS WAS NOT DONE BEFORE??? IN FIRST 4.1 RELEASE? :-((( > > Вторник, 10 января 2017, 20:41 +03:00 от Konstantin Tokarev : > > > > 10.01.2017, 20:37, "Serge K via Interest" : > > I created widget with animated SVG for my projects. It starts after loading if signal svg->repaintNeeded() is connected to update() of my widget. To stop and restart it I found a hack - disconnect this signal and reload SVG image. In Windows and Linux this stops animation. Stupid but working. But now I use this widget for project on Andriod (using QML is not the way, QML is too weak and lame for me). But I cannot stop SVG animation on Android. It runs always. It does not depend from any connections, framerate, reloading, so on. Of course I can use another hack - to stop animation I can load non-animated image and to start I can load animated again. > > > > BUT... This looks too much "micro$oftish" and stupid. NOT A Qt WAY. And with this hack animation won't stop in it's "current" position - it will always start from beginning. I do not need this. > > > > Of course I could patch Qt code and rewrite QSvgRenderer class. I could add start() and stop() functions to control internal d->timer - it emits ticks for animation frames. BUT WHY THIS WAS NOT DONE BEFORE??? :-((( > > Because you haven't done it > > > > > -- > > Serge K , > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > > -- > Regards, > Konstantin > > _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From gourmand at inbox.ru Wed Jan 11 13:43:08 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Wed, 11 Jan 2017 15:43:08 +0300 Subject: [Interest] =?utf-8?q?Needed_working_stop/start_for_animated_SVG?= In-Reply-To: <74241485-0E00-4006-A2EC-70DA42178852@qt.io> References: <1484075692.113411515@f140.i.mail.ru> <74241485-0E00-4006-A2EC-70DA42178852@qt.io> Message-ID: <1484138588.626925190@f417.i.mail.ru> I am not sure about patch. I'm going distribute my product using Ministro to reduce space used by Qt libraries. There will be several "parts" of this product distributed separately. But they will use same Qt libs set. Without Ministro each part will have copy of all used Qt libs. But with Ministro parts will share one set of libs. Qt libs will be downloaded by Ministro from Qt repository. Therefore I cannot be sure if patch will be applied before I start distribution. That means I should wait for it. No. I cannot be limited by this. >Среда, 11 января 2017, 13:28 +03:00 от Shawn Rutledge : > > >> On 10 Jan 2017, at 20:14, Serge K via Interest < Interest at qt-project.org > wrote: >> >> >> May be - then this is a bug in Qt for Android. Right now I found another bug - QSound::play() in Android stops playing WAV after several times if playing fast. > >You can write them both up at bugreports.qt.io. Be sure to provide an example. SVG animation is pretty rarely used AFAIK… I don’t remember hearing of anybody using it before, so it’s not surprising if there are bugs. You can also write a patch if you know what to do about it, and submit it to codereview.qt-project.org > >> Вторник, 10 января 2017, 21:56 +03:00 от "Jason H" < jhihn at gmx.com >: >> >> Well android wasn't around in 4.1 days... it seems the Android drawable system is running the animation, not Qt. >> >> Sent: Tuesday, January 10, 2017 at 12:55 PM >> From: "Serge K via Interest" < interest at qt-project.org > >> To: interest < interest at qt-project.org > >> Subject: Re: [Interest] Needed working stop/start for animated SVG >> >> SVG animation appeared first in Qt 4.1. I used it in Qt 5. >> >> Just needed stop and start timer with two methods. WHY THIS WAS NOT DONE BEFORE??? IN FIRST 4.1 RELEASE? :-((( >> >> Вторник, 10 января 2017, 20:41 +03:00 от Konstantin Tokarev < annulen at yandex.ru >: >> >> >> >> 10.01.2017, 20:37, "Serge K via Interest" < interest at qt-project.org >: >> > I created widget with animated SVG for my projects. It starts after loading if signal svg->repaintNeeded() is connected to update() of my widget. To stop and restart it I found a hack - disconnect this signal and reload SVG image. In Windows and Linux this stops animation. Stupid but working. But now I use this widget for project on Andriod (using QML is not the way, QML is too weak and lame for me). But I cannot stop SVG animation on Android. It runs always. It does not depend from any connections, framerate, reloading, so on. Of course I can use another hack - to stop animation I can load non-animated image and to start I can load animated again. >> > >> > BUT... This looks too much "micro$oftish" and stupid. NOT A Qt WAY. And with this hack animation won't stop in it's "current" position - it will always start from beginning. I do not need this. >> > >> > Of course I could patch Qt code and rewrite QSvgRenderer class. I could add start() and stop() functions to control internal d->timer - it emits ticks for animation frames. BUT WHY THIS WAS NOT DONE BEFORE??? :-((( >> >> Because you haven't done it >> >> > >> > -- >> > Serge K , >> > >> > _______________________________________________ >> > Interest mailing list >> > Interest at qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/interest >> >> >> -- >> Regards, >> Konstantin >> >> _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > >_______________________________________________ >Interest mailing list >Interest at qt-project.org >http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From Shawn.Rutledge at qt.io Wed Jan 11 14:36:37 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Wed, 11 Jan 2017 13:36:37 +0000 Subject: [Interest] Needed working stop/start for animated SVG In-Reply-To: <1484138588.626925190@f417.i.mail.ru> References: <1484075692.113411515@f140.i.mail.ru> <74241485-0E00-4006-A2EC-70DA42178852@qt.io> <1484138588.626925190@f417.i.mail.ru> Message-ID: > On 11 Jan 2017, at 13:43, Serge K via Interest wrote: > > I am not sure about patch. I'm going distribute my product using Ministro to reduce space used by Qt libraries. There will be several "parts" of this product distributed separately. But they will use same Qt libs set. Without Ministro each part will have copy of all used Qt libs. But with Ministro parts will share one set of libs. Qt libs will be downloaded by Ministro from Qt repository. Therefore I cannot be sure if patch will be applied before I start distribution. That means I should wait for it. No. I cannot be limited by this. That’s a very typical problem almost everyone runs into… you need a workaround for now, but it would still be nice to get it fixed in Qt eventually, even if it takes a year, right? Then eventually you won’t need your workaround anymore, when Ministro gets updated to the Qt version which has the fix. From gourmand at inbox.ru Wed Jan 11 15:34:49 2017 From: gourmand at inbox.ru (=?UTF-8?B?U2VyZ2UgSw==?=) Date: Wed, 11 Jan 2017 17:34:49 +0300 Subject: [Interest] =?utf-8?q?Needed_working_stop/start_for_animated_SVG?= In-Reply-To: References: <1484075692.113411515@f140.i.mail.ru> <1484138588.626925190@f417.i.mail.ru> Message-ID: <1484145289.623149104@f395.i.mail.ru> Other issue about patch is - I do not know how it should work internally. To understand I must break my main project, then investigate specific Qt internals (I really do not know how Qt works with Android and how Android should work), find they solution, write code, assemble Qt with it, test and finally send patch to Digia. What will be my benefits for this solution if I will already have working libs? If only Digia would for example contribute me "commercial" license to allow assemble LGPL static applications - this would be a reason. Again - I will spend some unknown time needed for my main project. Therefore I am sure - Qt team must work on it, not me. User's patches are good when they are simple and easy to implement for these users. Here I want see some response from Qt team members working on Android QtExtras. I want be sure if my bug report about this won't be lost on Bug Tracker. I want be sure if there are real people working on QtExtras. >Среда, 11 января 2017, 16:36 +03:00 от Shawn Rutledge : > > >> On 11 Jan 2017, at 13:43, Serge K via Interest < interest at qt-project.org > wrote: >> >> I am not sure about patch. I'm going distribute my product using Ministro to reduce space used by Qt libraries. There will be several "parts" of this product distributed separately. But they will use same Qt libs set. Without Ministro each part will have copy of all used Qt libs. But with Ministro parts will share one set of libs. Qt libs will be downloaded by Ministro from Qt repository. Therefore I cannot be sure if patch will be applied before I start distribution. That means I should wait for it. No. I cannot be limited by this. > >That’s a very typical problem almost everyone runs into… you need a workaround for now, but it would still be nice to get it fixed in Qt eventually, even if it takes a year, right? Then eventually you won’t need your workaround anymore, when Ministro gets updated to the Qt version which has the fix. > >_______________________________________________ >Interest mailing list >Interest at qt-project.org >http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Wed Jan 11 16:46:07 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Wed, 11 Jan 2017 17:46:07 +0200 Subject: [Interest] Needed working stop/start for animated SVG In-Reply-To: <1484145289.623149104@f395.i.mail.ru> References: <1484075692.113411515@f140.i.mail.ru> <1484138588.626925190@f417.i.mail.ru> <1484145289.623149104@f395.i.mail.ru> Message-ID: On Wed, Jan 11, 2017 at 4:34 PM, Serge K via Interest < interest at qt-project.org> wrote: > What will be my benefits for this solution if I will already have working > libs? > Your benefit would be that someone else could make use of your patch, just as you are using thousands of lines of code contributed by people that don't work in the Qt Company. > If only Digia would for example contribute me "commercial" license to > allow assemble LGPL static applications - this would be a reason. > LGPL is (mostly) incompatible with static applications. For mandatory static linking you can take your beef with the developers that force you to do it, iOS, Android or whoever they may be. > Again - I will spend some unknown time needed for my main project. > Therefore I am sure - Qt team must work on it, not me. User's patches are > good when they are simple and easy to implement for these users. > ... ... ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Wed Jan 11 17:35:04 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 11 Jan 2017 17:35:04 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <98CB8396-F0BD-4195-B22A-9A4E2DFC3BDD@qt.io> References: <2623598.tKFN8rn2xa@bola> <2929954.MVkJJrNiPR@bola> <98CB8396-F0BD-4195-B22A-9A4E2DFC3BDD@qt.io> Message-ID: <18623891.VGdeypDCDW@portia.local> On Wednesday January 11 2017 08:16:29 Andy Shaw wrote: Hi > https://codereview.qt-project.org/#/c/175556/ This one is already applied in 5.7.1, maybe 175556 reverts a change made later on? R. From andy.shaw at qt.io Wed Jan 11 17:36:32 2017 From: andy.shaw at qt.io (Andy Shaw) Date: Wed, 11 Jan 2017 16:36:32 +0000 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <18623891.VGdeypDCDW@portia.local> References: <2623598.tKFN8rn2xa@bola> <2929954.MVkJJrNiPR@bola> <98CB8396-F0BD-4195-B22A-9A4E2DFC3BDD@qt.io> <18623891.VGdeypDCDW@portia.local> Message-ID: I could have sworn the revert was pre 5.7.1, but it is reverted in its entirity since, but the patch pending puts part of it back in without the bit that was causing problems at least. Andy René J.V. Bertin skrev følgende den 11.01.2017, 17.35: On Wednesday January 11 2017 08:16:29 Andy Shaw wrote: Hi > https://codereview.qt-project.org/#/c/175556/ This one is already applied in 5.7.1, maybe 175556 reverts a change made later on? R. From rjvbertin at gmail.com Wed Jan 11 17:50:48 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 11 Jan 2017 17:50:48 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: References: <2623598.tKFN8rn2xa@bola> <18623891.VGdeypDCDW@portia.local> Message-ID: <3531550.jlVnWA1Oz9@portia.local> On Wednesday January 11 2017 16:36:32 Andy Shaw wrote: Hi, > I could have sworn the revert was pre 5.7.1, but it is reverted in its entirity since, but the patch pending puts part of it back in without the bit that was causing problems at least. My mom told me never to swear ;) Either way, the part that applied didn't solve anything of the issue I'm seeing. I also tried reverting the part that was already applied, same effect. Would you have an opportunity to run my little demonstrator (https://github.com/RJVB/shortcut-test-qt5) and run it with --no-shortcut-test-in-menubar and/or --no-native-menubar ? It's configured to test Ctrl+< (= Command+<) by default, but you can define any combination on the commandline. Thanks, René From thiago.macieira at intel.com Wed Jan 11 18:19:10 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Jan 2017 09:19:10 -0800 Subject: [Interest] Suppressing Q_ASSERT on release builds In-Reply-To: References: <7732086.ZdMCRtaG4A@tjmaciei-mobl1> Message-ID: <212112608.tDj46rp1t3@tjmaciei-mobl1> On quarta-feira, 11 de janeiro de 2017 10:52:44 PST Jani Tykka wrote: > > Are you talking about 3rdparty components that are used inside Qt? Which > > one is including qglobal.h? > > Yes, in qtbase: > > In file included from src/hb-blob.cc:32: > In file included from src/hb-private.hh:33: > In file included from ./config.h:25: > In file included from ../../../include/QtCore/qatomic.h:1: > In file included from > ../../../include/QtCore/../../src/corelib/thread/qatomic.h:34: > In file included from ../../../include/QtCore/qglobal.h:1: Harfbuzz-NG, apparently. There's a reason for that, but it doesn't use Q_ASSERT. Therefore, no problem. Where are Q_ASSERT used outside of a Qt module (with no qt.prf)? > > The macro wouldn't get defined if the .pro file does CONFIG -= qt. Can you > > point to which one(s) those are? > > Actually I was confused about the above hb-blob compiled without > QT_NO_DEBUG and started blaming that qtwebengine does the same, but > then I found that there is a bit different story: > > src/core/delegated_frame_node.cpp asserts in release builds since: Sorry, I don't have qtwebengine checked out, so I can't verify your claims. > #undef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES > #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 > #endif > > Then see > https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/Assert > Macros.h And I have no idea what Apple has to do with anything. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Wed Jan 11 18:20:14 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Jan 2017 09:20:14 -0800 Subject: [Interest] Suppressing Q_ASSERT on release builds In-Reply-To: References: Message-ID: <7701496.fcqOdKh8KL@tjmaciei-mobl1> On quarta-feira, 11 de janeiro de 2017 10:58:29 PST Jani Tykka wrote: > The fact that delegated_frame_node.cpp is asserting in release build > is an issue in Qt that should be fixed. I ended up explicitly removing > Q_ASSERTs from that file. We have been receiving these crash reports > to our system from customers. The assert location is: > > 2016-11-22 08:41:04,791 QtLogger [0x700000117000] FATAL ASSERT: > "texture->hasAlphaChannel() || !quadNeedsBlending" in file > /opt/jenkins/workspace/qt5_git_osx_64/qt5/qtwebengine/src/core/delegated_fra > me_node.cpp, line 382 Please report this. I can't do anything because I don't check out and don't compile qtwebengine. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From assangema at gmail.com Wed Jan 11 23:09:23 2017 From: assangema at gmail.com (jack ma) Date: Thu, 12 Jan 2017 06:09:23 +0800 Subject: [Interest] How to change nested JSON object directly Message-ID: { "key1":{ "key2":"someting" } } if root is jsonObject, what I want is like this : *jsonObject["key1"].toObject().value("key2") = "somteting2"* but now , *toObect()* just return a copy of key1, so you can't change key2 directly -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Jan 11 23:56:31 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Jan 2017 14:56:31 -0800 Subject: [Interest] How to change nested JSON object directly In-Reply-To: References: Message-ID: <5843061.bdnJaCRWIq@tjmaciei-mobl1> On quinta-feira, 12 de janeiro de 2017 06:09:23 PST jack ma wrote: > *jsonObject["key1"].toObject().value("key2") = "somteting2"* > > > but now , *toObect()* just return a copy of key1, so you can't change > key2 directly QJsonObject jso2 = jsonObject["key1"].toObject(); jso2["key2"] = "something2"; jsonObject["key1"] = jso2; -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From frank at ohufx.com Thu Jan 12 00:02:32 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 12:02:32 +1300 Subject: [Interest] suppressing tooltips of all widgets Message-ID: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> Hi all, what is the best way to suppress tool tips for all widgets in an app? I have been asked to implement a user preference for showing tool tips and am reluctant to modify every single widget to check the preference before showing the tooltip. I had hoped that I can maybe intercept the QHelpEvent on the top level widget, but that doesn't catch the child widget's events. I also looked at intercepting topLevelWidget.childEvent(), but that is not recursive, so wouldn't catch all the nested widgets (and would probably lead to performance issues as well). Is there any way to intercept a any tool tip even from anywhere in the app? Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ohufxLogo_50x50.png Type: image/png Size: 2666 bytes Desc: not available URL: From assangema at gmail.com Thu Jan 12 00:13:57 2017 From: assangema at gmail.com (jack ma) Date: Thu, 12 Jan 2017 07:13:57 +0800 Subject: [Interest] How to change nested JSON object directly In-Reply-To: <5843061.bdnJaCRWIq@tjmaciei-mobl1> References: <5843061.bdnJaCRWIq@tjmaciei-mobl1> Message-ID: Hi, I mean if we can don't copy a QJsonObject with toObject(), but like something pointer, to change the nested value directly. because my nested object may be to big, that may waste memory and time. 2017-01-12 6:56 GMT+08:00 Thiago Macieira : > On quinta-feira, 12 de janeiro de 2017 06:09:23 PST jack ma wrote: > > *jsonObject["key1"].toObject().value("key2") = "somteting2"* > > > > > > but now , *toObect()* just return a copy of key1, so you can't change > > key2 directly > > QJsonObject jso2 = jsonObject["key1"].toObject(); > jso2["key2"] = "something2"; > jsonObject["key1"] = jso2; > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From giuseppe.dangelo at kdab.com Thu Jan 12 00:15:30 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Thu, 12 Jan 2017 00:15:30 +0100 Subject: [Interest] suppressing tooltips of all widgets In-Reply-To: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> References: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> Message-ID: <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> Il 12/01/2017 00:02, Frank Rueter | OHUfx ha scritto: > Is there any way to intercept a any tool tip even from anywhere in the app? Install a global event filter on QApplication, and filter out all QEvent::ToolTip events? (Never tried myself, so take it with a grain of salt.) Another option: install a QProxyStyle and return a wait period for showing tooltips ridiculously high (INT_MAX). HTH, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From frank at ohufx.com Thu Jan 12 00:37:47 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 12:37:47 +1300 Subject: [Interest] suppressing tooltips of all widgets In-Reply-To: <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> References: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> Message-ID: Thanks Giuseppe, I will check out both those options and report back. On 12/01/17 12:15 PM, Giuseppe D'Angelo wrote: > Il 12/01/2017 00:02, Frank Rueter | OHUfx ha scritto: >> Is there any way to intercept a any tool tip even from anywhere in the app? > Install a global event filter on QApplication, and filter out all > QEvent::ToolTip events? (Never tried myself, so take it with a grain of > salt.) > > Another option: install a QProxyStyle and return a wait period for > showing tooltips ridiculously high (INT_MAX). > > HTH, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From william.crocker at analog.com Thu Jan 12 01:13:15 2017 From: william.crocker at analog.com (william.crocker at analog.com) Date: Wed, 11 Jan 2017 19:13:15 -0500 Subject: [Interest] suppressing tooltips of all widgets In-Reply-To: References: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> Message-ID: <5876CA1B.5070701@analog.com> On 01/11/2017 06:37 PM, Frank Rueter | OHUfx wrote: > Thanks Giuseppe, > I will check out both those options and report back. > > On 12/01/17 12:15 PM, Giuseppe D'Angelo wrote: >> Il 12/01/2017 00:02, Frank Rueter | OHUfx ha scritto: >>> Is there any way to intercept a any tool tip even from anywhere in the app? >> Install a global event filter on QApplication, and filter out all >> QEvent::ToolTip events? (Never tried myself, so take it with a grain of >> salt.) >> Yes. That is how I have been doing it for years. class GlobalEventFilter : public QObject { Q_OBJECT typedef QObject BaseClass; public: GlobalEventFilter( QObject *parent ) : BaseClass(parent) { } protected: bool eventFilter(QObject*,QEvent*); }; bool GlobalEventFilter::eventFilter( QObject *op, QEvent *ep ) { if( ep->type() == QEvent::ToolTip && !CommandLineArg::s_DoToolTips ) return true; // Filter out. return BaseClass::eventFilter(op,ep); } ... GlobalEventFilter *mp = new GlobalEventFilter(s_QtApp); my_qt_app->installEventFilter(mp); ... Bill >> Another option: install a QProxyStyle and return a wait period for >> showing tooltips ridiculously high (INT_MAX). >> >> HTH, >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From frank at ohufx.com Thu Jan 12 01:35:55 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 13:35:55 +1300 Subject: [Interest] suppressing tooltips of all widgets In-Reply-To: <5876CA1B.5070701@analog.com> References: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> <5876CA1B.5070701@analog.com> Message-ID: <01dce6ea-69c7-12b2-516e-676406628e5d@ohufx.com> Thanks guys, works perfectly. Since my app will run inside of another host application I just need to make sure to install the event to QApplication.instance() in my main widget's enterEvent and uninstall it again in the leaveEvent to avoid processing the host application's events. But that should be ok, right?! Thanks again! frank On 12/01/17 1:13 PM, william.crocker at analog.com wrote: > On 01/11/2017 06:37 PM, Frank Rueter | OHUfx wrote: >> Thanks Giuseppe, >> I will check out both those options and report back. >> >> On 12/01/17 12:15 PM, Giuseppe D'Angelo wrote: >>> Il 12/01/2017 00:02, Frank Rueter | OHUfx ha scritto: >>>> Is there any way to intercept a any tool tip even from anywhere in >>>> the app? >>> Install a global event filter on QApplication, and filter out all >>> QEvent::ToolTip events? (Never tried myself, so take it with a grain of >>> salt.) >>> > > Yes. That is how I have been doing it for years. > > class GlobalEventFilter : public QObject { > Q_OBJECT > typedef QObject BaseClass; > public: > GlobalEventFilter( QObject *parent ) : BaseClass(parent) { } > protected: > bool eventFilter(QObject*,QEvent*); > }; > > bool > GlobalEventFilter::eventFilter( QObject *op, QEvent *ep ) { > if( ep->type() == QEvent::ToolTip && !CommandLineArg::s_DoToolTips ) > return true; // Filter out. > return BaseClass::eventFilter(op,ep); > } > > ... > GlobalEventFilter *mp = new GlobalEventFilter(s_QtApp); > my_qt_app->installEventFilter(mp); > ... > > Bill > >>> Another option: install a QProxyStyle and return a wait period for >>> showing tooltips ridiculously high (INT_MAX). >>> >>> HTH, >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >> >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From thiago.macieira at intel.com Thu Jan 12 01:39:21 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Jan 2017 16:39:21 -0800 Subject: [Interest] How to change nested JSON object directly In-Reply-To: References: <5843061.bdnJaCRWIq@tjmaciei-mobl1> Message-ID: <4318881.5gxI7tpzdH@tjmaciei-mobl1> On quinta-feira, 12 de janeiro de 2017 07:13:57 PST jack ma wrote: > I mean if we can don't copy a QJsonObject with toObject(), but like > something pointer, to change the nested value directly. > because my nested object may be to big, that may waste memory and time. Sorry, the way I said is the only way. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From frank at ohufx.com Thu Jan 12 01:43:20 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 13:43:20 +1300 Subject: [Interest] suppressing tooltips of all widgets In-Reply-To: <01dce6ea-69c7-12b2-516e-676406628e5d@ohufx.com> References: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> <5876CA1B.5070701@analog.com> <01dce6ea-69c7-12b2-516e-676406628e5d@ohufx.com> Message-ID: <660ac3ae-a48a-b080-39ff-f48e7d4a3e8e@ohufx.com> DOH, ignore that last bit. I wrongly assumed that I need to install event filters to QApplication instances when in fact I can install them to any QObject. So there is no need to mess with enter and leave events. Nice On 12/01/17 1:35 PM, Frank Rueter | OHUfx wrote: > Thanks guys, works perfectly. > > Since my app will run inside of another host application I just need > to make sure to install the event to QApplication.instance() > in my main widget's enterEvent and uninstall it again in the > leaveEvent to avoid processing the host application's events. > But that should be ok, right?! > > Thanks again! > frank > > > On 12/01/17 1:13 PM, william.crocker at analog.com wrote: >> On 01/11/2017 06:37 PM, Frank Rueter | OHUfx wrote: >>> Thanks Giuseppe, >>> I will check out both those options and report back. >>> >>> On 12/01/17 12:15 PM, Giuseppe D'Angelo wrote: >>>> Il 12/01/2017 00:02, Frank Rueter | OHUfx ha scritto: >>>>> Is there any way to intercept a any tool tip even from anywhere in >>>>> the app? >>>> Install a global event filter on QApplication, and filter out all >>>> QEvent::ToolTip events? (Never tried myself, so take it with a >>>> grain of >>>> salt.) >>>> >> >> Yes. That is how I have been doing it for years. >> >> class GlobalEventFilter : public QObject { >> Q_OBJECT >> typedef QObject BaseClass; >> public: >> GlobalEventFilter( QObject *parent ) : BaseClass(parent) { } >> protected: >> bool eventFilter(QObject*,QEvent*); >> }; >> >> bool >> GlobalEventFilter::eventFilter( QObject *op, QEvent *ep ) { >> if( ep->type() == QEvent::ToolTip && !CommandLineArg::s_DoToolTips ) >> return true; // Filter out. >> return BaseClass::eventFilter(op,ep); >> } >> >> ... >> GlobalEventFilter *mp = new GlobalEventFilter(s_QtApp); >> my_qt_app->installEventFilter(mp); >> ... >> >> Bill >> >>>> Another option: install a QProxyStyle and return a wait period for >>>> showing tooltips ridiculously high (INT_MAX). >>>> >>>> HTH, >>>> >>>> >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest >>> >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >>> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From dmitry.volosnykh at gmail.com Thu Jan 12 01:50:05 2017 From: dmitry.volosnykh at gmail.com (Dmitry Volosnykh) Date: Thu, 12 Jan 2017 00:50:05 +0000 Subject: [Interest] How to change nested JSON object directly In-Reply-To: References: <5843061.bdnJaCRWIq@tjmaciei-mobl1> Message-ID: This issue has been addressed here: QTBUG-25723 On Thu, Jan 12, 2017 at 2:14 AM jack ma wrote: > Hi, > I mean if we can don't copy a QJsonObject with toObject(), but like > something pointer, to change the nested value directly. > because my nested object may be to big, that may waste memory and time. > > 2017-01-12 6:56 GMT+08:00 Thiago Macieira : > > On quinta-feira, 12 de janeiro de 2017 06:09:23 PST jack ma wrote: > > *jsonObject["key1"].toObject().value("key2") = "somteting2"* > > > > > > but now , *toObect()* just return a copy of key1, so you can't change > > key2 directly > > QJsonObject jso2 = jsonObject["key1"].toObject(); > jso2["key2"] = "something2"; > jsonObject["key1"] = jso2; > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Thu Jan 12 02:05:10 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 14:05:10 +1300 Subject: [Interest] suppressing tooltips of all widgets In-Reply-To: <660ac3ae-a48a-b080-39ff-f48e7d4a3e8e@ohufx.com> References: <28f4244a-6dc7-75e3-603b-fab1ed48828a@ohufx.com> <92582219-cc7f-2d8f-f4a3-2edf285c6e22@kdab.com> <5876CA1B.5070701@analog.com> <01dce6ea-69c7-12b2-516e-676406628e5d@ohufx.com> <660ac3ae-a48a-b080-39ff-f48e7d4a3e8e@ohufx.com> Message-ID: <07cc1cfd-04f8-7965-4d6b-0275d829abfa@ohufx.com> oops I was too trigger happy. Installing the event filter on the top level widget triggers the filter _after_ the tooltips were shown for some reason. Only when I install it on the QApplication instance do I get a chance to filter before the default event. Oh well, back to using enter and leave events to install and remove the filter I guess. On 12/01/17 1:43 PM, Frank Rueter | OHUfx wrote: > DOH, ignore that last bit. > I wrongly assumed that I need to install event filters to QApplication > instances when in fact I can install them to any QObject. > So there is no need to mess with enter and leave events. > Nice > > On 12/01/17 1:35 PM, Frank Rueter | OHUfx wrote: >> Thanks guys, works perfectly. >> >> Since my app will run inside of another host application I just need >> to make sure to install the event to QApplication.instance() >> in my main widget's enterEvent and uninstall it again in the >> leaveEvent to avoid processing the host application's events. >> But that should be ok, right?! >> >> Thanks again! >> frank >> >> >> On 12/01/17 1:13 PM, william.crocker at analog.com wrote: >>> On 01/11/2017 06:37 PM, Frank Rueter | OHUfx wrote: >>>> Thanks Giuseppe, >>>> I will check out both those options and report back. >>>> >>>> On 12/01/17 12:15 PM, Giuseppe D'Angelo wrote: >>>>> Il 12/01/2017 00:02, Frank Rueter | OHUfx ha scritto: >>>>>> Is there any way to intercept a any tool tip even from anywhere >>>>>> in the app? >>>>> Install a global event filter on QApplication, and filter out all >>>>> QEvent::ToolTip events? (Never tried myself, so take it with a >>>>> grain of >>>>> salt.) >>>>> >>> >>> Yes. That is how I have been doing it for years. >>> >>> class GlobalEventFilter : public QObject { >>> Q_OBJECT >>> typedef QObject BaseClass; >>> public: >>> GlobalEventFilter( QObject *parent ) : BaseClass(parent) { } >>> protected: >>> bool eventFilter(QObject*,QEvent*); >>> }; >>> >>> bool >>> GlobalEventFilter::eventFilter( QObject *op, QEvent *ep ) { >>> if( ep->type() == QEvent::ToolTip && >>> !CommandLineArg::s_DoToolTips ) >>> return true; // Filter out. >>> return BaseClass::eventFilter(op,ep); >>> } >>> >>> ... >>> GlobalEventFilter *mp = new GlobalEventFilter(s_QtApp); >>> my_qt_app->installEventFilter(mp); >>> ... >>> >>> Bill >>> >>>>> Another option: install a QProxyStyle and return a wait period for >>>>> showing tooltips ridiculously high (INT_MAX). >>>>> >>>>> HTH, >>>>> >>>>> >>>>> _______________________________________________ >>>>> Interest mailing list >>>>> Interest at qt-project.org >>>>> http://lists.qt-project.org/mailman/listinfo/interest >>>> >>>> >>>> >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest >>>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Thu Jan 12 08:13:13 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 20:13:13 +1300 Subject: [Interest] QWebView and Joomla pages Message-ID: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> Hi all, this may be a long shot but i don't quite know where else to get help: I am trying to use QWebView to display a part of a Joomla page like this one. Trouble is that I can't figure out how to deal with the required css files to ensure the widget looks like the browser. Trouble is Joomla is a CMS and there are a bunch of CSS files that are used for any given page, and I don't know if QWebView can deal with that as well? Is it possible to make QWebView interpret a chain of CSS files that may all import other ones? E.g. could I somehow tell QWebView to load the CSS structures from the online page or do I have to provide a single css and use it like this? QWebView()settings().setUserStyleSheetUrl(QUrl.fromLocalFile(cssFile)) If the latter is the only way to get QT to utilise css information, then I need to find a way to bake and merge those online css files to generate one that I can use with QT, but maybe QT is cleverer than that? Any pointers would be great as I am truly stuck with this (web stuff is not my strong side). Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ohufxLogo_50x50.png Type: image/png Size: 2666 bytes Desc: not available URL: From Kai.Koehne at qt.io Thu Jan 12 08:49:00 2017 From: Kai.Koehne at qt.io (Kai Koehne) Date: Thu, 12 Jan 2017 07:49:00 +0000 Subject: [Interest] QWebView and Joomla pages In-Reply-To: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> References: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> Message-ID: > -----Original Message----- > From: Interest [mailto:interest-bounces+kai.koehne=qt.io at qt-project.org] > On Behalf Of Frank Rueter | OHUfx > Sent: Thursday, January 12, 2017 8:13 AM > To: interest at qt-project.org > Subject: [Interest] QWebView and Joomla pages > > Hi all, Hi, > this may be a long shot but i don't quite know where else to get help: > > I am trying to use QWebView to display a part of a Joomla page like this one. > > Trouble is that I can't figure out how to deal with the required css files to > ensure the widget looks like the browser. > > Trouble is Joomla is a CMS and there are a bunch of CSS files that are used for > any given page, and I don't know if QWebView can deal with that as well? Are the CSS files served by the CMS (linked to from the HTML page), or do You want to 'inject' them from the client side? > Is it possible to make QWebView interpret a chain of CSS files that may all > import other ones? If the CSS files are delivered as part of the HTML page, then sure, this is part of the standard. > E.g. could I somehow tell QWebView to load the CSS structures from the > online page or do I have to provide a single css and use it like this? > > QWebView()settings().setUserStyleSheetUrl(QUrl.fromLocalFile(cssFile)) > > If the latter is the only way to get QT to utilise css information, then I need to > find a way to bake and merge those online css files to generate one that I can > use with QT, but maybe QT is cleverer than that? I see, so you're after injecting CSS locally, after all ... have you tried creating a master .css file that includes further .css files with the @import rule? https://www.w3.org/TR/CSS21/cascade.html#at-import Regards Kai From frank at ohufx.com Thu Jan 12 09:04:57 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 12 Jan 2017 21:04:57 +1300 Subject: [Interest] QWebView and Joomla pages In-Reply-To: References: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> Message-ID: <1fc63109-ddfd-d2bc-e9b9-244bc8226a98@ohufx.com> Thanks Kai, thanks for the quick reply! I'd be quite happy to read the CSS files from the server rather than injecting locally, but I know little about CSS and the website has a whole bunch that all happily cross import things. I have attached the css folder from the website as that will tell you more than my ramblings If it's possible to simply point QWebView to that online folder and make sense of it on the fly, I would be perfectly happy. Otherwise I guess I will have to figure out how to merge all these things into a master css. Cheers, frank On 12/01/17 8:49 PM, Kai Koehne wrote: > >> -----Original Message----- >> From: Interest [mailto:interest-bounces+kai.koehne=qt.io at qt-project.org] >> On Behalf Of Frank Rueter | OHUfx >> Sent: Thursday, January 12, 2017 8:13 AM >> To: interest at qt-project.org >> Subject: [Interest] QWebView and Joomla pages >> >> Hi all, > Hi, > >> this may be a long shot but i don't quite know where else to get help: >> >> I am trying to use QWebView to display a part of a Joomla page like this one. >> >> Trouble is that I can't figure out how to deal with the required css files to >> ensure the widget looks like the browser. >> >> Trouble is Joomla is a CMS and there are a bunch of CSS files that are used for >> any given page, and I don't know if QWebView can deal with that as well? > Are the CSS files served by the CMS (linked to from the HTML page), or do > You want to 'inject' them from the client side? > >> Is it possible to make QWebView interpret a chain of CSS files that may all >> import other ones? > If the CSS files are delivered as part of the HTML page, then sure, this is > part of the standard. > >> E.g. could I somehow tell QWebView to load the CSS structures from the >> online page or do I have to provide a single css and use it like this? >> >> QWebView()settings().setUserStyleSheetUrl(QUrl.fromLocalFile(cssFile)) >> >> If the latter is the only way to get QT to utilise css information, then I need to >> find a way to bake and merge those online css files to generate one that I can >> use with QT, but maybe QT is cleverer than that? > I see, so you're after injecting CSS locally, after all ... have you tried creating a master .css file that includes further .css files with the @import rule? > > https://www.w3.org/TR/CSS21/cascade.html#at-import > > Regards > > Kai -------------- next part -------------- A non-text attachment was scrubbed... Name: css.zip Type: application/zip Size: 29500 bytes Desc: not available URL: From jtykka at broadsoft.com Thu Jan 12 09:42:32 2017 From: jtykka at broadsoft.com (Jani Tykka) Date: Thu, 12 Jan 2017 10:42:32 +0200 Subject: [Interest] Suppressing Q_ASSERT on release builds In-Reply-To: <7701496.fcqOdKh8KL@tjmaciei-mobl1> References: <7701496.fcqOdKh8KL@tjmaciei-mobl1> Message-ID: Thanks Thiago, I Created two reports out of this: QTBUG-58103 and QTBUG-58104. After digging more found out that the reason for assertion was because of how the Qt build was configured. Jani On Wed, Jan 11, 2017 at 7:20 PM, Thiago Macieira wrote: > On quarta-feira, 11 de janeiro de 2017 10:58:29 PST Jani Tykka wrote: >> The fact that delegated_frame_node.cpp is asserting in release build >> is an issue in Qt that should be fixed. I ended up explicitly removing >> Q_ASSERTs from that file. We have been receiving these crash reports >> to our system from customers. The assert location is: >> >> 2016-11-22 08:41:04,791 QtLogger [0x700000117000] FATAL ASSERT: >> "texture->hasAlphaChannel() || !quadNeedsBlending" in file >> /opt/jenkins/workspace/qt5_git_osx_64/qt5/qtwebengine/src/core/delegated_fra >> me_node.cpp, line 382 > > Please report this. > > I can't do anything because I don't check out and don't compile qtwebengine. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Jani Tykkä Development Manager | BroadSoft, Inc. | +358 44 596 0587 | jtykka at broadsoft.com -- This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. If you are not the intended recipient and have received this email in error, please notify BroadSoft, Inc. immediately by replying to this message, and destroy all copies of this message, along with any attachment, prior to reading, distributing or copying it. From Kai.Koehne at qt.io Thu Jan 12 11:29:54 2017 From: Kai.Koehne at qt.io (Kai Koehne) Date: Thu, 12 Jan 2017 10:29:54 +0000 Subject: [Interest] QWebView and Joomla pages In-Reply-To: <1fc63109-ddfd-d2bc-e9b9-244bc8226a98@ohufx.com> References: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> <1fc63109-ddfd-d2bc-e9b9-244bc8226a98@ohufx.com> Message-ID: > -----Original Message----- > From: Frank Rueter | OHUfx [mailto:frank at ohufx.com] > Sent: Thursday, January 12, 2017 9:05 AM > To: Kai Koehne ; interest at qt-project.org > Subject: Re: [Interest] QWebView and Joomla pages > > Thanks Kai, > > thanks for the quick reply! > I'd be quite happy to read the CSS files from the server rather than injecting > locally, but I know little about CSS and the website has a whole bunch that all > happily cross import things. Hi Frank, Usually the setup is that the CMS links to the CSS from the HTML. That is, the page Delivered to the web browser contains lines like This is actually from view-source:http://www.nukepedia.com/gizmos/filter/efibonacciglow. The web browser will then automatically try to download and apply e.g. http://www.nukepedia.com/components/com_jcomments/tpl/default/style.css?v=21 . I understand that either your CMS is configured wrong, and doesn't include these links, or that you hit a bug in WebEngine where the css for a reason or the other is not fetched, or applied correctly. Can you clarify?? > I have attached the css folder from the website as that will tell you more than > my ramblings > > If it's possible to simply point QWebView to that online folder and make > sense of it on the fly, I would be perfectly happy. See above - it is something that the .html page itself should link to. The QWebEngineSettings::setUserStyleSheetUrl you found is only a fallback, e.g. if you want to tweak the layout of pages you don't have any control over on the server side. > Otherwise I guess I will have to figure out how to merge all these things into > a master css. As I mentioned already, you can also link from a CSS to another CSS by using the @import rule . Regards Kai From patrick_lists at phess.net Thu Jan 12 12:49:43 2017 From: patrick_lists at phess.net (Patrick Hess) Date: Thu, 12 Jan 2017 12:49:43 +0100 Subject: [Interest] How to clean up kits and versions list on Qt Creator settings manually on Mac OSX? In-Reply-To: <23B5A64D-AED6-4C65-ADC3-FFD60752FC9E@imaginando.pt> References: <23B5A64D-AED6-4C65-ADC3-FFD60752FC9E@imaginando.pt> Message-ID: <781b0b52-d2a8-43ca-1fda-1e4a489023e7@phess.net> On 24.12.2016 12:47, Nuno Santos wrote: > Where does QtCreator keeps the record of Kits and Versions? Take a look around in your ~/.config/QtProject/qtcreator directory. profiles.xml and toolchains.xml might be what you're looking for. Patrick -- If you'd like to send me a private message, make sure to remove the "_lists" part from my address. From andy.shaw at qt.io Thu Jan 12 14:58:00 2017 From: andy.shaw at qt.io (Andy Shaw) Date: Thu, 12 Jan 2017 13:58:00 +0000 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <3531550.jlVnWA1Oz9@portia.local> References: <2623598.tKFN8rn2xa@bola> <18623891.VGdeypDCDW@portia.local> <3531550.jlVnWA1Oz9@portia.local> Message-ID: <84F05485-8CE9-4419-BDA8-9DA9F2421D31@qt.io> This works for me at least, which keyboard layout are you using here? Also as it may be necessary anyway can you make a bug report for this, then it is easier to follow up and such there. Thanks. Andy René J.V. Bertin skrev følgende den 11.01.2017, 17.50: On Wednesday January 11 2017 16:36:32 Andy Shaw wrote: Hi, > I could have sworn the revert was pre 5.7.1, but it is reverted in its entirity since, but the patch pending puts part of it back in without the bit that was causing problems at least. My mom told me never to swear ;) Either way, the part that applied didn't solve anything of the issue I'm seeing. I also tried reverting the part that was already applied, same effect. Would you have an opportunity to run my little demonstrator (https://github.com/RJVB/shortcut-test-qt5) and run it with --no-shortcut-test-in-menubar and/or --no-native-menubar ? It's configured to test Ctrl+< (= Command+<) by default, but you can define any combination on the commandline. Thanks, René From jeanmichael.celerier at gmail.com Thu Jan 12 17:57:20 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Thu, 12 Jan 2017 17:57:20 +0100 Subject: [Interest] Ammy: Interesting new UI language inspired from QML Message-ID: http://www.ammyui.com/#overview Best, ------- Jean-Michaël Celerier http://www.jcelerier.name -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Thu Jan 12 18:35:23 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 12 Jan 2017 18:35:23 +0100 Subject: [Interest] Ammy: Interesting new UI language inspired from QML In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Thu Jan 12 18:44:15 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Thu, 12 Jan 2017 18:44:15 +0100 Subject: [Interest] Ammy: Interesting new UI language inspired from QML In-Reply-To: References: Message-ID: I agree, however I think that the accent put on live editing is quite interesting. Yes, there is QMLLive but it seems a bit abandoned (and I sometimes had crashes with it, at least a few months ago). Having it more deeply integrated to QtCreator by default would be awesome. (by the way Terrarium is also quite nice for Qt: http://www.terrariumapp.com/ but the editor is ... well ... limited). And I'm sure that there are some interesting ideas to find and build from, like that alias syntax. On Thu, Jan 12, 2017 at 6:35 PM, Jason H wrote: > Inspired, but inferior. And who wants to pay $299? And seems to be WPF > only... > > Still, imitation is the sincerest form of flattery. There is a convergence > happening with QML, JSX, and now this... > > > > *Sent:* Thursday, January 12, 2017 at 11:57 AM > *From:* "Jean-Michaël Celerier" > *To:* interest > *Subject:* [Interest] Ammy: Interesting new UI language inspired from QML > http://www.ammyui.com/#overview > > > Best, > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > _______________________________________________ Interest mailing list > Interest at qt-project.org http://lists.qt-project.org/ma > ilman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland.m.winklmeier at gmail.com Thu Jan 12 18:48:09 2017 From: roland.m.winklmeier at gmail.com (Roland Winklmeier) Date: Thu, 12 Jan 2017 18:48:09 +0100 Subject: [Interest] Does qmake support installing Qt5 libraries with INSTALLS? Message-ID: Dear List, I'm contributing to a project which contains several libraries and applications. It is built using Qt5 and running on all major platforms. First of all, I'm aware of the deployment applications like windeployqt etc. However, no such application exists for Linux. Therefore I added packaging mechanism into the qmake build system also for Windows and Mac OS to be consistent. I did this by adding install targets which do not only install the built project binaries, but also the 3rdparty dependencies. I've used this mechanism to also copy the Qt binaries into the final folder structure. As an example: win32: qt5_imageformats_plugins_target.files *= $$[QT_INSTALL_PLUGINS]/imageformats/*$${DLL_DEBUG_SUFFIX}.dll else:macx: [...] else:unix: [...] qt5_imageformats_plugins_target.path = $${PREFIX}/bin/imageformats INSTALLS += qt5_imageformats_plugins_target Knowing that, INSTALLS is a special command, which does not only copy, but alot more including stripping, is there any side effect, I might have missed? I could add a copy function, but INSTALLS seemed to solve the problem nicely. I'm asking since the upgrade to 5.6.2 (previously 5.6.0) I get the following warnings: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ bin/strip: symbols referenced by indirect symbol table entries that can't be stripped in: /Users/jenkins/build/dist/bin/imageformats/libqdds.dylib This seem to be related to QTBUG-54212. Setting QMAKE_STRIPFLAGS_LIB or QMAKE_STRIPFLAGS_APP does not help, since the INSTALLS command is in a TEMPLATE = subdirs, means none of those strip flags have an effect. Therefore the question: Is this not supported what I'm doing or can I workaround this somehow? As a very dirty workaround, I removed 'QMAKE_STRIP = strip' from mkspecs/common/mac.conf which restored the situation I had with 5.6.0, but I'm not sure what the consequences are. Thanks, Roland -------------- next part -------------- An HTML attachment was scrubbed... URL: From ernestoac at icrt.cu Thu Jan 12 14:23:42 2017 From: ernestoac at icrt.cu (Ernesto) Date: Thu, 12 Jan 2017 14:23:42 +0100 Subject: [Interest] Doubt extending my app functions ability Message-ID: Hello to everyone, My name is Ernesto. I am a beginner in Qt programming and I have an specifics problems whit my first big project (desktop app). Let me explain myself: I have to include plugins or add-ons to my application for new file format types; I looked around QPluginLoader class, Dynamic and Static libraries classes to achieve this goal, and here is my problem, in each one of this I have to include the header file and the library (or plugins) in my project. I have to develop other mini app to create those plugins or libraries. So here is _my first problem_, I don´t know how many plugins or libraries will be development to include in my app. Later I think in create a binary file with a standard structure. With the file saving and loading, I resolve part of the problem, no matter how many plugins will be sequentially loaded, because the app just know the defined file structure. And here is _my second problem_; can I save in any mode a function (or method) in a binary file? Here I write an example of my previous explanation: Let´s call the main app “PluginLoader” and the mini app “PluginCreator”. We create through PluginCreator a plugin or libraries for PE format file (it´s Portable Executable), it´s contain the structure parts, his position and the analyzing methods of PE format. We back to my second problem: how PluginCreator can save analyzing methods in a binary file? If we create a plugins (with QPluginLoader and PluginInterface) I have to include beforehand those plugins (headers files and plugins files) in my project file (.pro), how can I included if I don´t know the plugins it will be created? And here is my first problem again. I hope you understand my questions on other hand please email me to ernestoac at icrt.cu . Sorry for my English, Spanish is my native language. Regards, Ernesto -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Thu Jan 12 20:35:30 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 12 Jan 2017 20:35:30 +0100 Subject: [Interest] Ammy: Interesting new UI language inspired from QML In-Reply-To: References: , Message-ID: An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Thu Jan 12 21:29:14 2017 From: bhood2 at comcast.net (Bob Hood) Date: Thu, 12 Jan 2017 13:29:14 -0700 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: References: Message-ID: <70bda9b0-5213-f66c-6490-37329abe513f@comcast.net> On 1/12/2017 6:23 AM, Ernesto wrote: > > Hello to everyone, > > My name is Ernesto. I am a beginner in Qt programming and I have an > specifics problems whit my first big project (desktop app). Let me explain > myself: > > I have to include plugins or add-ons to my application for new file format > types; I looked around QPluginLoader class, Dynamic and Static libraries > classes to achieve this goal, and here is my problem, in each one of this I > have to include the header file and the library (or plugins) in my project. > I have to develop other mini app to create those plugins or libraries. So > here is _my first problem_, I don´t know how many plugins or libraries will > be development to include in my app. > Hello, Ernesto. I will not address your entire problem (because I'm not clearly understanding the second one), but your first is easy enough to answer. The answer is: You don't /need/do know how many plug-ins will be in development. Plug-ins, by definition, are external code to your main application. You application needs to /discover/those pieces of external code when it runs. This way, any number of plug-ins can be included with your application--or even added later by the user to an existing installation of your application--without having to modify any of your main application's code. For example, when your main application starts, it looks in a location--either hard-coded, or defined by the user--and discovers all the available shared libraries: ... QDir plugins("ernestos_plugins"); QStringList plugins_list = plugins.entryList(QStringList() << "*.dll" << "*.so", QDir::Files); ... With each shared library it finds, it tests each to see if it is a plug-in designed for your application by coercing it to the interface contract, something like: foreach(const QString& filename, plugins_list) { QString plugin_path = QDir::toNativeSeparators(QString("%1/%2").arg(plugins.absolutePath()).arg(filename)); QPluginLoader(plugin_path); QObject* instance = plugin.instance(); if(instance) { IErnestoPlugin* iernestofactory = reinterpret_cast(instance); if(iernestofactory) { ... Each one that supports the contract of your interface ("IErnestoPlugin") can be safely used within your application as a plug-in designed for your main application. I hope I understood the first problem correctly. Apologies if I didn't. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Thu Jan 12 22:40:03 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Thu, 12 Jan 2017 22:40:03 +0100 Subject: [Interest] Qt 5.7+ and Command+Shift shortcuts on Mac In-Reply-To: <84F05485-8CE9-4419-BDA8-9DA9F2421D31@qt.io> References: <2623598.tKFN8rn2xa@bola> <3531550.jlVnWA1Oz9@portia.local> <84F05485-8CE9-4419-BDA8-9DA9F2421D31@qt.io> Message-ID: <3403030.c8fdkVGA2v@portia.local> On Thursday January 12 2017 13:58:00 Andy Shaw wrote: I now tried with Qt 5.7.1 pulled in via the official online installer. I get the same issue there, so I filed a bug report: https://bugreports.qt.io/browse/QTBUG-58135 > This works for me at least, which keyboard layout are you using here? Also as it may be necessary anyway can you make a bug report for this, then it is easier to follow up and such there. Thanks. > > Andy From ernestoac at icrt.cu Fri Jan 13 00:33:28 2017 From: ernestoac at icrt.cu (Ernesto) Date: Fri, 13 Jan 2017 00:33:28 +0100 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: <70bda9b0-5213-f66c-6490-37329abe513f@comcast.net> References: <70bda9b0-5213-f66c-6490-37329abe513f@comcast.net> Message-ID: <8c6f04fc-9888-64c1-2d63-7ad88a493726@icrt.cu> Hello again, first, thanks to Bob Hood for his quickly reply. I understood your explanation about my second problem, but I have another issue writing your solution in an example project. I have a MainApp (QT Widgets project) and a Lib1 (C++ Static Library project) and here is the code: //This is header file of *Lib1* #include"lib1_global.h" #include #include #include"pinterface.h" //this is my interface classLIB1SHARED_EXPORTLib1:publicPInterface { Q_OBJECT public: Lib1(); QString/Name/()const; //example method }; //This is cpp file of *Lib1* QStringLib1::/Name/()const { return"HellofromDLL"; } //This is cpp file of *MainApp* MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow) { ui->setupUi(this); QDirplugins("C:/lib"); QStringListplugins_list=plugins.entryList(QStringList()<<"*.dll"<<"*.so",QDir::Files); foreach(constQString&filename,plugins_list) { QStringplugin_path=QDir::toNativeSeparators(QString("%1/%2").arg(plugins.absolutePath()).arg(filename)); QPluginLoaderpl(plugin_path); QObject*instance=pl.instance(); if(instance) { PInterface*iernestofactory=reinterpret_cast(instance); if(iernestofactory) { QMessageBox::information(NULL,"hello",iernestofactory->/Name/()); } }else{ //Always throw this error QMessageBox::information(NULL,"error","badcreatedinstance"); } } } //This is header file of my interface, is included by both projects classPInterface:publicQObject { Q_OBJECT public: explicitPInterface(QObject*parent=0); virtualQString/Name/()const=0; signals: publicslots: }; If a run the application he discover the Lib1.dll file, but the MainApp throw the “bad created instance” error, that is in cpp file of MainApp. InQObject* instance = pl.instance(); when I evaluate the “instance” variable, takes 0 value and the Qt documentation says: “/The function returns 0 if the plugin could not be loaded or if the root component object could not be instantiated.”/It refers to instance () function. Until now I can´t solve this logical error. Regards, Ernesto El 12/01/2017 a las 21:29, Bob Hood escribió: > On 1/12/2017 6:23 AM, Ernesto wrote: >> >> Hello to everyone, >> >> My name is Ernesto. I am a beginner in Qt programming and I have an >> specifics problems whit my first big project (desktop app). Let me >> explain myself: >> >> I have to include plugins or add-ons to my application for new file >> format types; I looked around QPluginLoader class, Dynamic and Static >> libraries classes to achieve this goal, and here is my problem, in >> each one of this I have to include the header file and the library >> (or plugins) in my project. I have to develop other mini app to >> create those plugins or libraries. So here is _my first problem_, I >> don´t know how many plugins or libraries will be development to >> include in my app. >> > > Hello, Ernesto. > > I will not address your entire problem (because I'm not clearly > understanding the second one), but your first is easy enough to > answer. The answer is: You don't /need/do know how many plug-ins > will be in development. > > Plug-ins, by definition, are external code to your main application. > You application needs to /discover/those pieces of external code when > it runs. This way, any number of plug-ins can be included with your > application--or even added later by the user to an existing > installation of your application--without having to modify any of your > main application's code. > > For example, when your main application starts, it looks in a > location--either hard-coded, or defined by the user--and discovers all > the available shared libraries: > > ... > QDir plugins("ernestos_plugins"); > QStringList plugins_list = plugins.entryList(QStringList() << > "*.dll" << "*.so", QDir::Files); > ... > > With each shared library it finds, it tests each to see if it is a > plug-in designed for your application by coercing it to the interface > contract, something like: > > foreach(const QString& filename, plugins_list) > { > QString plugin_path = > QDir::toNativeSeparators(QString("%1/%2").arg(plugins.absolutePath()).arg(filename)); > QPluginLoader(plugin_path); > QObject* instance = plugin.instance(); > if(instance) > { > IErnestoPlugin* iernestofactory = > reinterpret_cast(instance); > if(iernestofactory) > { > ... > > Each one that supports the contract of your interface > ("IErnestoPlugin") can be safely used within your application as a > plug-in designed for your main application. > > I hope I understood the first problem correctly. Apologies if I didn't. > > > __________ Información de ESET NOD32 Antivirus, versión de la base de > firmas de virus 13498 (20160516) __________ > > ESET NOD32 Antivirus ha comprobado este mensaje. > > http://www.eset.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Fri Jan 13 16:08:22 2017 From: bhood2 at comcast.net (Bob Hood) Date: Fri, 13 Jan 2017 08:08:22 -0700 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: <8c6f04fc-9888-64c1-2d63-7ad88a493726@icrt.cu> References: <70bda9b0-5213-f66c-6490-37329abe513f@comcast.net> <8c6f04fc-9888-64c1-2d63-7ad88a493726@icrt.cu> Message-ID: <8922e618-806c-12c1-2aae-49c378fd1fd1@comcast.net> On 1/12/2017 4:33 PM, Ernesto wrote: > > Hello again, first, thanks to Bob Hood for his quickly reply. > > I understood your explanation about my second problem, but I have another > issue writing your solution in an example project. I have a MainApp (QT > Widgets project) and a Lib1 (C++ Static Library project) and here is the code: > If you are creating statically linked plug-ins, that requires a different approach. However, you also mention "the Lib1.dll file" elsewhere, so I assume you are not. I'm sure you have read the online docs about Qt plug-in, Ernesto, but probably missed a subtle point which is evident in your interface file: > //This is header file of my interface, is included by both projects > > classPInterface:publicQObject > > { > > Q_OBJECT > > public: > > explicitPInterface(QObject*parent=0); > > virtualQString/Name/()const=0; > > signals: > > publicslots: > > }; > You have to designate/declare the class that will be the plug-in interface. Try adding the following declarations to your interface file "PInterface", so it looks something like this: class PInterface : public QObject { Q_OBJECT public: explicit PInterface(QObject *parent = 0); virtual QString Name() const = 0; signals: public slots: }; *QT_BEGIN_NAMESPACE** ** Q_DECLARE_INTERFACE(PInterface , "org.Ernesto.PInterface")** ** QT_END_NAMESPACE* And try again. Also, a couple of observations: 1. Add a virtual destructor to your interface class so destructors of subclasses are properly called. 2. If you'll notice my original code example, I use QPluginLoader to load a factory instance. The Qt plug-in system (QPluginLoader) *does not do multiple instancing of plug-ins*. Therefore, if you will need multiple copies of any given plug-in you load, you'll need to use the Factory Pattern within each plug-in shared library to generate and return instances, and then designate the Factory class interface as the Qt plug-in interface instead; e.g.: class PInterfaceFactory : public QObject { Q_OBJECT public: virtual PInterface* newInstance() = 0; }; QT_BEGIN_NAMESPACE Q_DECLARE_INTERFACE(PInterfaceFactory, "org.Ernesto.PInterfaceFactory") QT_END_NAMESPACE -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Fri Jan 13 16:15:50 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Fri, 13 Jan 2017 18:15:50 +0300 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: <8922e618-806c-12c1-2aae-49c378fd1fd1@comcast.net> References: <70bda9b0-5213-f66c-6490-37329abe513f@comcast.net> <8c6f04fc-9888-64c1-2d63-7ad88a493726@icrt.cu> <8922e618-806c-12c1-2aae-49c378fd1fd1@comcast.net> Message-ID: <2579841484320550@web24h.yandex.ru> 13.01.2017, 18:08, "Bob Hood" : > On 1/12/2017 4:33 PM, Ernesto wrote: >> Hello again, first, thanks to Bob Hood for his quickly reply. >> >> I understood your explanation about my second problem, but I have another issue writing your solution in an example project. I have a MainApp (QT Widgets project) and a Lib1 (C++ Static Library project) and here is the code: > > If you are creating statically linked plug-ins, that requires a different approach.  However, you also mention "the Lib1.dll file" elsewhere, so I assume you are not. Actually, it does not make much sense to create static-only plugins. Static plugins make sense if you want to build all or some plugins in shared and static modes in different configurations of your software and handle both modes with same code, e.g. Qt itself benefits from this feature. > > I'm sure you have read the online docs about Qt plug-in, Ernesto, but probably missed a subtle point which is evident in your interface file: > >> //This is header file of my interface, is included by both projects >> >> class PInterface : public QObject >> >> { >> >>     Q_OBJECT >> >> public: >> >>     explicit PInterface(QObject *parent = 0); >> >>     virtual QString Name() const = 0; >> >> signals: >> >> public slots: >> >> }; > > You have to designate/declare the class that will be the plug-in interface.  Try adding the following declarations to your interface file "PInterface", so it looks something like this: > >     class PInterface : public QObject >     { >         Q_OBJECT >     public: >         explicit PInterface(QObject *parent = 0); >         virtual QString Name() const = 0; > >     signals: >     public slots: >     }; > >     QT_BEGIN_NAMESPACE >     Q_DECLARE_INTERFACE(PInterface , "org.Ernesto.PInterface") >     QT_END_NAMESPACE > > And try again. > > Also, a couple of observations: > > * Add a virtual destructor to your interface class so destructors of subclasses are properly called. > * If you'll notice my original code example, I use QPluginLoader to load a factory instance.  The Qt plug-in system (QPluginLoader) does not do multiple instancing of plug-ins.  Therefore, if you will need multiple copies of any given plug-in you load, you'll need to use the Factory Pattern within each plug-in shared library to generate and return instances, and then designate the Factory class interface as the Qt plug-in interface instead; e.g.: >     class PInterfaceFactory : public QObject >     { >         Q_OBJECT >     public: >         virtual PInterface* newInstance() = 0; >     }; > >     QT_BEGIN_NAMESPACE >     Q_DECLARE_INTERFACE(PInterfaceFactory, "org.Ernesto.PInterfaceFactory") >     QT_END_NAMESPACE > > , > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From thiago.macieira at intel.com Fri Jan 13 18:07:27 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 13 Jan 2017 09:07:27 -0800 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: <8c6f04fc-9888-64c1-2d63-7ad88a493726@icrt.cu> References: <70bda9b0-5213-f66c-6490-37329abe513f@comcast.net> <8c6f04fc-9888-64c1-2d63-7ad88a493726@icrt.cu> Message-ID: <2699103.Sj7O242kpa@tjmaciei-mobl1> On sexta-feira, 13 de janeiro de 2017 00:33:28 PST Ernesto wrote: > I understood your explanation about my second problem, but I have > another issue writing your solution in an example project. I have a > MainApp (QT Widgets project) and a Lib1 (C++ Static Library project) and > here is the code: We're missing something here. A plugin framework is composed of: * Zero or more applications * Zero or more plugins * Exactly ONE dynamic/shared library Where is your shared library? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From developer at lagner.ru Sat Jan 14 19:56:46 2017 From: developer at lagner.ru (=?UTF-8?B?0JvQsNCz0L3QtdGALCDQodC10YDQs9C10Lk=?=) Date: Sun, 15 Jan 2017 01:56:46 +0700 Subject: [Interest] Build Qt with Gstreamer on Ubuntu Message-ID: Hello all. I'm trying to build qt from source(branch 5.8). The problem I've got that Gstreamer does not work for me. Last time I've done following completely from scratch: - git clone https://code.qt.io/qt/qt5.git qt - ./init-repository - ./configure -opensource -nomake examples -nomake tests and I got Qt Multimedia: ALSA ................................... yes GStreamer 1.0 .......................... no GStreamer 0.10 ......................... no But I think I've installed all libraries related to gstreamer 1.0 on my machine. Little more information about my environment ~/Labs/qt $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS" ~/Labs/qt $ pkg-config --cflags --libs gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 ~/Labs/qt $ aptitude search ~igstreamer1.0 i gstreamer1.0-alsa - GStreamer plugin for ALSA i gstreamer1.0-libav - libav plugin for GStreamer i gstreamer1.0-nice - ICE library (GStreamer plugin) i gstreamer1.0-plugins-bad - GStreamer plugins from the "bad" set i A gstreamer1.0-plugins-bad-faad - GStreamer faad plugin from the "bad" set i A gstreamer1.0-plugins-bad-videop - GStreamer videoparsers plugin from the "ba i gstreamer1.0-plugins-base - GStreamer plugins from the "base" set i A gstreamer1.0-plugins-base:i386 - GStreamer plugins from the "base" set i gstreamer1.0-plugins-good - GStreamer plugins from the "good" set i gstreamer1.0-plugins-ugly - GStreamer plugins from the "ugly" set i A gstreamer1.0-plugins-ugly-amr - GStreamer plugins from the "ugly" set i gstreamer1.0-pulseaudio - GStreamer plugin for PulseAudio i gstreamer1.0-tools - Tools for use with GStreamer i gstreamer1.0-vaapi - VA-API plugins for GStreamer i gstreamer1.0-x - GStreamer plugins for X11 and Pango i libgstreamer1.0-0 - Core GStreamer libraries and elements i A libgstreamer1.0-0:i386 - Core GStreamer libraries and elements i libgstreamer1.0-dev - GStreamer core development files I got stuck. I don't know how to define what packages are missed Any clue is highly appreciated -- Best regards, Sergey Lagner -------------- next part -------------- An HTML attachment was scrubbed... URL: From kde at carewolf.com Sat Jan 14 20:22:00 2017 From: kde at carewolf.com (Allan Sandfeld Jensen) Date: Sat, 14 Jan 2017 20:22:00 +0100 Subject: [Interest] Build Qt with Gstreamer on Ubuntu In-Reply-To: References: Message-ID: <587a7a78.c80e1c0a.b54e2.1648@mx.google.com> On Saturday 14 January 2017, Лагнер, Сергей wrote: > Hello all. > > I'm trying to build qt from source(branch 5.8). The problem I've got that > Gstreamer does not work for me. > Last time I've done following completely from scratch: > > - git clone https://code.qt.io/qt/qt5.git qt > - ./init-repository > - ./configure -opensource -nomake examples -nomake tests > > and I got > > Qt Multimedia: > ALSA ................................... yes > GStreamer 1.0 .......................... no > GStreamer 0.10 ......................... no > > > I got stuck. I don't know how to define what packages are missed > Any clue is highly appreciated Try calling configure with -v so you get all the command and can see what fails. Then it is usually just a matter of installing the package that contains whatever was missing for the test to fail. Best regards `Allan From jeanmichael.celerier at gmail.com Sat Jan 14 23:12:00 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Sat, 14 Jan 2017 23:12:00 +0100 Subject: [Interest] Build Qt with Gstreamer on Ubuntu In-Reply-To: <587a7a78.c80e1c0a.b54e2.1648@mx.google.com> References: <587a7a78.c80e1c0a.b54e2.1648@mx.google.com> Message-ID: You also need libgstreamer-plugins-base1.0-dev ------- Jean-Michaël Celerier http://www.jcelerier.name On Sat, Jan 14, 2017 at 8:22 PM, Allan Sandfeld Jensen wrote: > On Saturday 14 January 2017, Лагнер, Сергей wrote: > > Hello all. > > > > I'm trying to build qt from source(branch 5.8). The problem I've got that > > Gstreamer does not work for me. > > Last time I've done following completely from scratch: > > > > - git clone https://code.qt.io/qt/qt5.git qt > > - ./init-repository > > - ./configure -opensource -nomake examples -nomake tests > > > > and I got > > > > Qt Multimedia: > > ALSA ................................... yes > > GStreamer 1.0 .......................... no > > GStreamer 0.10 ......................... no > > > > > > I got stuck. I don't know how to define what packages are missed > > Any clue is highly appreciated > > Try calling configure with -v so you get all the command and can see what > fails. Then it is usually just a matter of installing the package that > contains whatever was missing for the test to fail. > > Best regards > `Allan > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Sun Jan 15 02:22:34 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Sun, 15 Jan 2017 14:22:34 +1300 Subject: [Interest] QWebView and Joomla pages In-Reply-To: References: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> <1fc63109-ddfd-d2bc-e9b9-244bc8226a98@ohufx.com> Message-ID: Hi Kai, my apologies for not replying earlier! Thank you for the explanation, so it sounds like its "should just work". After reading your explanation I realised that the html I am feeding into the WebView comes directly from a data base query and does not include the headers you see in the source of the web page. So I suppose if I find the right CSS files and add the respective lines back to the downloaded html before feeding it into WebView via setHtml it should work?! e.g.: cssHeaders = '' webView.setHtml(cssHeaders + html) Those particular css files don't give me what I'm aft so I need to dig up the correct one, but should this work? Cheers, frank On 12/01/17 11:29 PM, Kai Koehne wrote: >> -----Original Message----- >> From: Frank Rueter | OHUfx [mailto:frank at ohufx.com] >> Sent: Thursday, January 12, 2017 9:05 AM >> To: Kai Koehne ; interest at qt-project.org >> Subject: Re: [Interest] QWebView and Joomla pages >> >> Thanks Kai, >> >> thanks for the quick reply! >> I'd be quite happy to read the CSS files from the server rather than injecting >> locally, but I know little about CSS and the website has a whole bunch that all >> happily cross import things. > Hi Frank, > > Usually the setup is that the CMS links to the CSS from the HTML. That is, the page > Delivered to the web browser contains lines like > > > > > This is actually from view-source:http://www.nukepedia.com/gizmos/filter/efibonacciglow. The web browser will then automatically try to download and apply e.g. http://www.nukepedia.com/components/com_jcomments/tpl/default/style.css?v=21 . > > I understand that either your CMS is configured wrong, and doesn't include these links, or that you hit a bug in WebEngine where the css for a reason or the other is not fetched, or applied correctly. Can you clarify?? > >> I have attached the css folder from the website as that will tell you more than >> my ramblings >> >> If it's possible to simply point QWebView to that online folder and make >> sense of it on the fly, I would be perfectly happy. > See above - it is something that the .html page itself should link to. The QWebEngineSettings::setUserStyleSheetUrl you found is only a fallback, e.g. if you want to tweak the layout of pages you don't have any control over on the server side. > >> Otherwise I guess I will have to figure out how to merge all these things into >> a master css. > As I mentioned already, you can also link from a CSS to another CSS by using the @import rule . > > Regards > > Kai -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Sun Jan 15 02:59:57 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Sun, 15 Jan 2017 14:59:57 +1300 Subject: [Interest] QWebView and Joomla pages In-Reply-To: References: <00492ae6-8d0a-221d-d075-d2415ec26ee3@ohufx.com> <1fc63109-ddfd-d2bc-e9b9-244bc8226a98@ohufx.com> Message-ID: I go tit working now by adding the header data back into the downloaded html. Thanks a lot Kai! frank On 15/01/17 2:22 PM, Frank Rueter | OHUfx wrote: > Hi Kai, > > my apologies for not replying earlier! > Thank you for the explanation, so it sounds like its "should just work". > After reading your explanation I realised that the html I am feeding > into the WebView comes directly from a data base query and does not > include the headers you see in the source of the web page. > > So I suppose if I find the right CSS files and add the respective > lines back to the downloaded html before feeding it into WebView via > setHtml it should work?! > e.g.: > > cssHeaders = ' href="/templates/yoo_sync/base.css" />' > > webView.setHtml(cssHeaders + html) > > Those particular css files don't give me what I'm aft so I need to dig > up the correct one, but should this work? > > Cheers, > frank > > On 12/01/17 11:29 PM, Kai Koehne wrote: >>> -----Original Message----- >>> From: Frank Rueter | OHUfx [mailto:frank at ohufx.com] >>> Sent: Thursday, January 12, 2017 9:05 AM >>> To: Kai Koehne;interest at qt-project.org >>> Subject: Re: [Interest] QWebView and Joomla pages >>> >>> Thanks Kai, >>> >>> thanks for the quick reply! >>> I'd be quite happy to read the CSS files from the server rather than injecting >>> locally, but I know little about CSS and the website has a whole bunch that all >>> happily cross import things. >> Hi Frank, >> >> Usually the setup is that the CMS links to the CSS from the HTML. That is, the page >> Delivered to the web browser contains lines like >> >> >> >> >> This is actually fromview-source:http://www.nukepedia.com/gizmos/filter/efibonacciglow. The web browser will then automatically try to download and apply e.g.http://www.nukepedia.com/components/com_jcomments/tpl/default/style.css?v=21 . >> >> I understand that either your CMS is configured wrong, and doesn't include these links, or that you hit a bug in WebEngine where the css for a reason or the other is not fetched, or applied correctly. Can you clarify?? >> >>> I have attached the css folder from the website as that will tell you more than >>> my ramblings >>> >>> If it's possible to simply point QWebView to that online folder and make >>> sense of it on the fly, I would be perfectly happy. >> See above - it is something that the .html page itself should link to. The QWebEngineSettings::setUserStyleSheetUrl you found is only a fallback, e.g. if you want to tweak the layout of pages you don't have any control over on the server side. >> >>> Otherwise I guess I will have to figure out how to merge all these things into >>> a master css. >> As I mentioned already, you can also link from a CSS to another CSS by using the @import rule . >> >> Regards >> >> Kai > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sun Jan 15 03:27:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 14 Jan 2017 18:27:52 -0800 Subject: [Interest] Build Qt with Gstreamer on Ubuntu In-Reply-To: References: Message-ID: <2627960.1lsdhf7Aje@tjmaciei-mobl1> On domingo, 15 de janeiro de 2017 01:56:46 PST Лагнер, Сергей wrote: > Qt Multimedia: > ALSA ................................... yes > GStreamer 1.0 .......................... no > GStreamer 0.10 ......................... no See details in qtmultimedia/config.log -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From developer at lagner.ru Sun Jan 15 06:42:27 2017 From: developer at lagner.ru (=?UTF-8?B?0JvQsNCz0L3QtdGALCDQodC10YDQs9C10Lk=?=) Date: Sun, 15 Jan 2017 12:42:27 +0700 Subject: [Interest] Build Qt with Gstreamer on Ubuntu In-Reply-To: References: <587a7a78.c80e1c0a.b54e2.1648@mx.google.com> Message-ID: Thanks all. All advices are very useful. Jean-Michaël Celerier is right, libgstreamer-plugins-base1.0-dev was absent. 2017-01-15 5:12 GMT+07:00 Jean-Michaël Celerier < jeanmichael.celerier at gmail.com>: > You also need libgstreamer-plugins-base1.0-dev > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > > On Sat, Jan 14, 2017 at 8:22 PM, Allan Sandfeld Jensen > wrote: > >> On Saturday 14 January 2017, Лагнер, Сергей wrote: >> > Hello all. >> > >> > I'm trying to build qt from source(branch 5.8). The problem I've got >> that >> > Gstreamer does not work for me. >> > Last time I've done following completely from scratch: >> > >> > - git clone https://code.qt.io/qt/qt5.git qt >> > - ./init-repository >> > - ./configure -opensource -nomake examples -nomake tests >> > >> > and I got >> > >> > Qt Multimedia: >> > ALSA ................................... yes >> > GStreamer 1.0 .......................... no >> > GStreamer 0.10 ......................... no >> > >> > >> > I got stuck. I don't know how to define what packages are missed >> > Any clue is highly appreciated >> >> Try calling configure with -v so you get all the command and can see what >> fails. Then it is usually just a matter of installing the package that >> contains whatever was missing for the test to fail. >> >> Best regards >> `Allan >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rpzrpzrpz at gmail.com Mon Jan 16 00:19:50 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Sun, 15 Jan 2017 17:19:50 -0600 Subject: [Interest] 5.8.0 QAbstractListModel Message-ID: Cannot use emit dataChanged(index(0),index(growcount-1)) to cause re-display of changed values in ListView. Tried every combination: emit dataChanged(index(grow),index(grow)); emit dataChanged(index(0),index(grows)); emit dataChanged(index(0),index(grows-1)); Only can repaint entire ListView with: this->beginResetModel(); this->endResetModel(); But this is overkill,. I want to trigger the Model to update a single row. Anyone with ideas? From ernestoac at icrt.cu Mon Jan 16 03:09:18 2017 From: ernestoac at icrt.cu (Ernesto) Date: Mon, 16 Jan 2017 03:09:18 +0100 Subject: [Interest] Finally about extends my app function ability Message-ID: <5f680539-7ff7-79cf-85a9-ec932a736d1a@icrt.cu> Hello, thanks again to /Bob Hood/, /Konstantin Tokarev/ and /Thiago Macieira/. Well, in my previous mail, I show you an example project to test my doubts about extending app through plugin addition (in this case from Static Library). After reading all yours considerations several occasions and reading Qt Documentation about plugins. I included the plugin correctly in my MainApp. Here is the code: //This is header file of *Lib1* #include"lib1_global.h" #include #include #include #include"../pinterface.h" classLib1:publicQObject,publicPInterface *_//here I have to include the inherit of QObject and its macro_* { Q_OBJECT Q_PLUGIN_METADATA(IID"org.Ernesto.Plugin") *_//here I miss the plugin metadata ID and allow me instantiate this object_**__* Q_INTERFACES(PInterface) public: Lib1(); QString/Name/()const; }; //This is cpp file of *Lib1* QStringLib1::/Name/()const { return"HellofromDLL"; } //This is cpp file of *MainApp* MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow) { QDirplugins("C:/lib/"); QStringListplugins_list=plugins.entryList(QStringList()<<"*.dll",QDir::Files); foreach(QStringfilename,plugins_list) *_//In this structure I abbreviated_* { QStringplugin_path=QDir::toNativeSeparators(QString("%1/%2").arg(plugins.absolutePath()).arg(filename)); QPluginLoaderpl(plugin_path); *_//My problem was the cast type, I was usin reinterpret_cast and now dynamic_cast_* if(PInterface*myInterface=dynamic_cast(pl.instance())) ui->label->setText(myInterface->/Name/()); } } ** //This is header file of my interface, is included by both projects classPInterface *_//this class was inheriting of QObject, and as Lib1 inherits of PInterface and QObject, so PInterface can´t inherits of QOjects; and of course I deleted the constructor and O_OBJECT macro._* { public: virtualQString/Name/()const=0; }; Q_DECLARE_INTERFACE(PInterface,"org.Ernesto.Plugin") I can´t found an explanation of the differences of /reinterpret_cast/ and /dynamic_cast/, because I can´t found information about /reinterpret_cast/ in Qt Documentation (5.5.0 Qt version). I thanks to /Steven Davidson/ (from /cconclase/ list), who four years ago taught me the /dynamic_cast/ use. Regards, Ernesto -------------- next part -------------- An HTML attachment was scrubbed... URL: From ernestoac at icrt.cu Mon Jan 16 04:05:28 2017 From: ernestoac at icrt.cu (Ernesto) Date: Mon, 16 Jan 2017 04:05:28 +0100 Subject: [Interest] =?utf-8?q?_I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= Message-ID: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> Hello everyone, Now I´m blocked trying to (statically link) compile Qt statically (I´m using Qt 5.5.0) to runs my applications without Qt and others libraries. I did the following: First I went to /C:\Qt\Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++\/ and edited /qmake.conf/ I put in QMAKE_LFLAGS something like this: /QMAKE_LFLAGS= -static -enable-stdcall-fixup -wl,-enable-auto-import -wl,-enable-runtime-pseudo-reloc/ Next I opened the Qt console So /configure/ command doesn´t work, I have to change the default path for Qt console (/C:\Qt\Qt5.5.0\5.5\mingw492_32/) to /C:\Qt\Qt5.5.0\5.5\Src\qtbase /because /configure.exe/ doesn´t exist in /mingw492_32/ folder, it is in /qtbase/ folder. So I enter /configure -platform win32-g++ -static –release/ And the last lines of output was: /Creating qmake.../ /mingw32-make: Nothing to be done for 'first'./ /Running configuration tests.../ /WARNING: The DirectX SDK could not be detected:/ /There is no Direct X SDK installed or the environment variable "DXSDK_DIR" is not set./ /Disabling the ANGLE backend./ /WARNING: Using OpenGL ES 2.0 without ANGLE./ /Specify -opengl desktop to use Open GL./ /The build will most likely fail./ /(Press any key to continue...)/ When I press any key, runs and I get this: /Qt is now configured for building. Just run mingw32-make./ /To reconfigure, run mingw32-make confclean and configure./ // And later I type /mingw32-make sub-src /and I wait with patience. Several minutes later I get that: /Makefile:34: recipe for target 'release' failed/ /mingw32-make[2]: *** [release] Error 2/ /mingw32-make[2]: Leaving directory 'c:/Qt/Qt5.5.0/5.5/Src/qtbase/src/tools/qlalr'/ /Makefile:188: recipe for target 'sub-qlalr-make_first' failed/ /mingw32-make[1]: *** [sub-qlalr-make_first] Error 2/ /mingw32-make[1]: Leaving directory 'c:/Qt/Qt5.5.0/5.5/Src/qtbase/src'/ /makefile:38: recipe for target 'sub-src' failed/ /mingw32-make: *** [sub-src] Error 2/ // Return to my Project file (.pro) and add the following line of code: /CONFIG += static/ When I compile the Project its show me this errors: /:-1: error: error: unrecognized command line option '-wl,-enable-auto-import'/ /:-1: error: error: unrecognized command line option '-wl,-enable-runtime-pseudo-reloc'/ I went to qmake.conf file of the beginning and delete this two arguments, it will result like this: /QMAKE_LFLAGS= -static -enable-stdcall-fixup/ I compile and: /:-1: warning: cannot find entry symbol nable-stdcall-fixup; defaulting to 00401000/ So again I delete this args, resulting: /QMAKE_LFLAGS= -static/ When I compile at this point, Qt says me (xxx is the rest of project absolute path): /Starting xxx\release\DynamicLink.exe.../ /xxx\release\DynamicLink.exe exited with code 1989883493/ // And doesn´t shows my MainWindows. Regards for all, Ernesto -------------- next part -------------- An HTML attachment was scrubbed... URL: From william.crocker at analog.com Mon Jan 16 12:18:09 2017 From: william.crocker at analog.com (william.crocker at analog.com) Date: Mon, 16 Jan 2017 06:18:09 -0500 Subject: [Interest] 5.8.0 QAbstractListModel In-Reply-To: References: Message-ID: <587CABF1.4080009@analog.com> On 01/15/2017 06:19 PM, mark diener wrote: > Cannot use emit dataChanged(index(0),index(growcount-1)) to cause > re-display of changed > values in ListView. > > Tried every combination: > > emit dataChanged(index(grow),index(grow)); > emit dataChanged(index(0),index(grows)); > emit dataChanged(index(0),index(grows-1)); > I do this all of the time and it works fine. QModelIndex index = createIndex(row,col); emit dataChanged(index,index); > Only can repaint entire ListView with: > > this->beginResetModel(); > this->endResetModel(); > > But this is overkill,. I want to trigger the Model to update a single > row. > > Anyone with ideas? > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > From asmaloney at gmail.com Mon Jan 16 14:30:30 2017 From: asmaloney at gmail.com (Andy) Date: Mon, 16 Jan 2017 08:30:30 -0500 Subject: [Interest] Finally about extends my app function ability In-Reply-To: <5f680539-7ff7-79cf-85a9-ec932a736d1a@icrt.cu> References: <5f680539-7ff7-79cf-85a9-ec932a736d1a@icrt.cu> Message-ID: On Sun, Jan 15, 2017 at 9:09 PM, Ernesto wrote: > Hello, thanks again to *Bob Hood*, *Konstantin Tokarev* and *Thiago > Macieira*. > > Well, in my previous mail, I show you an example project to test my doubts > about extending app through plugin addition (in this case from Static > Library). After reading all yours considerations several occasions and > reading Qt Documentation about plugins. I included the plugin correctly in > my MainApp. > > Here is the code: > > //This is header file of *Lib1* > > #include "lib1_global.h" > > #include > > #include > > #include > > #include "../pinterface.h" > > > > class Lib1 : public QObject, public PInterface *//here I have to include > the inherit of QObject and its macro* > > { > > Q_OBJECT > > Q_PLUGIN_METADATA(IID "org.Ernesto.Plugin") > > *//here I miss the plugin metadata ID and allow me instantiate > this object* > > Q_INTERFACES(PInterface) > > public: > > Lib1(); > > QString *Name*() const; > > > > }; > > > > //This is cpp file of *Lib1* > > QString Lib1::*Name*() const > > { > > return "Hello from DLL"; > > } > > > > //This is cpp file of *MainApp* > > MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),ui(new Ui:: > MainWindow) > > { > > QDir plugins("C:/lib/"); > > QStringList plugins_list = plugins.entryList(QStringList() << "*.dll", > QDir::Files); > > > > foreach(QString filename, plugins_list) *//In this structure I > abbreviated* > > { > > QString plugin_path = QDir::toNativeSeparators(QString("%1/%2" > ).arg(plugins.absolutePath()).arg(filename)); > > QPluginLoader pl(plugin_path); > > > > *//My problem was the cast type, I was usin reinterpret_cast and > now dynamic_cast* > > if (PInterface* myInterface = dynamic_cast(pl. > instance())) > > ui->label->setText(myInterface->*Name*()); > > } > > } > > > > //This is header file of my interface, is included by both projects > > class PInterface *//this class was inheriting of QObject, and as Lib1 > inherits of PInterface and QObject, so PInterface can´t inherits of > QOjects; and of course I deleted the constructor and O_OBJECT macro.* > > { > > public: > > virtual QString *Name*() const = 0; > > }; > > > > Q_DECLARE_INTERFACE(PInterface, "org.Ernesto.Plugin") > > > > > > I can´t found an explanation of the differences of *reinterpret_cast* and > *dynamic_cast*, because I can´t found information about *reinterpret_cast* > in Qt Documentation (5.5.0 Qt version). > You will probably find that Qt doesn't have much to say about them because they are part of the C++ language. http://en.cppreference.com/w/cpp/language/dynamic_cast http://en.cppreference.com/w/cpp/language/reinterpret_cast ...and, since you're looking at casting, you should probably know about const_cast and static_cast as well: http://en.cppreference.com/w/cpp/language/const_cast http://en.cppreference.com/w/cpp/language/static_cast > > I thanks to *Steven Davidson* (from *cconclase* list), who four years ago > taught me the *dynamic_cast* use. > > > > Regards, > > Ernesto > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Mon Jan 16 16:03:38 2017 From: bhood2 at comcast.net (Bob Hood) Date: Mon, 16 Jan 2017 08:03:38 -0700 Subject: [Interest] Finally about extends my app function ability In-Reply-To: <5f680539-7ff7-79cf-85a9-ec932a736d1a@icrt.cu> References: <5f680539-7ff7-79cf-85a9-ec932a736d1a@icrt.cu> Message-ID: On 1/15/2017 7:09 PM, Ernesto wrote: > > I can´t found an explanation of the differences of /reinterpret_cast/ and > /dynamic_cast/, because I can´t found information about /reinterpret_cast/ > in Qt Documentation (5.5.0 Qt version). > These are purely C++ mechanisms, and have nothing to do directly with Qt. E.g.: https://www.tutorialspoint.com/cplusplus/cpp_casting_operators.htm -------------- next part -------------- An HTML attachment was scrubbed... URL: From developer at lagner.ru Mon Jan 16 16:24:11 2017 From: developer at lagner.ru (=?UTF-8?B?0JvQsNCz0L3QtdGALCDQodC10YDQs9C10Lk=?=) Date: Mon, 16 Jan 2017 22:24:11 +0700 Subject: [Interest] 5.8.0 QAbstractListModel In-Reply-To: References: Message-ID: Taking into account the name of your variable I can assume that your collection is growing. If it is correct you should take a look to beginInsertRows/endInsertRows first. My 2 cents -- Best regards, Sergey Lagner 2017-01-16 6:19 GMT+07:00 mark diener : > Cannot use emit dataChanged(index(0),index(growcount-1)) to cause > re-display of changed > values in ListView. > > Tried every combination: > > emit dataChanged(index(grow),index(grow)); > emit dataChanged(index(0),index(grows)); > emit dataChanged(index(0),index(grows-1)); > > Only can repaint entire ListView with: > > this->beginResetModel(); > this->endResetModel(); > > But this is overkill,. I want to trigger the Model to update a single > row. > > Anyone with ideas? > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pr12og2 at programist.ru Mon Jan 16 17:04:56 2017 From: pr12og2 at programist.ru (Prav) Date: Mon, 16 Jan 2017 19:04:56 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows Message-ID: <1335452458.20170116190456@programist.ru> I tried to compile 5.8.0 RC just to see how healthy it is under windows with msvc2013 (update 5) compiler. As I understand using header and libs of Windows 7 SDK should be OK for building Qt (at least it always was for previous versions). But then I build I got errors. First error is in : qtbase\src\plugins\platforms\windows\Makefile.Debug [.obj\debug\qwindowsservices.obj] Error 2 and it is : qtbase\src\plugins\platforms\windows\qwin10helpers.cpp(53) : fatal error C1083: Cannot open include file: 'inspectable.h': No such file or directory So it is something about Win10 (from name qwin10helpers.cpp). Who asked for Win10 features? I did not So what? We really need Win10 SDK to compile Qt for Win7 or this is mistake in build system? But OK. Let try Win10 SDK instead of Win7 SDK. Compiler will be same msvc2013 (update 5). In that case I get another error. First error is in : qtdeclarative\src\quick\Makefile.Release [.obj\release\qsgsoftwarepublicnodes.obj] Error 2 and it is qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2825: 'T': must be a class or namespace when followed by '::' A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see reference to function template instantiation 'T qt_dynamic_cast_check(X,T *)' being compiled with [ T=QSGSoftwarePixmapTexture * , X=QSGTexture * ] And some errors in the same file just after that : qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2039: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : is not a member of '`global namespace'' qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2146: syntax error : missing ';' before identifier 'dynamic_cast_will_always_fail_because_rtti_is_disabled' qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2275: 'T' : illegal use of this type as an expression qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see declaration of 'T' qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2065: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : undeclared identifier qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(104) : see declaration of 'T' Does anyone ever had such error in qtdeclarative? Why it happens? I can download qt-opensource-windows-x86-msvc2013-5.8.0-rc_699.exe which mean that msvc2013 should be fine to compile Qt. Finally: 1. I did something wrong? 2. Why there is need in Win10 SDK (this is feature or bug)? 3. May be some requirements changed for tools like perl or something else in 5.8.0 version and this is why I can not build the Qt 5.8.0 RC? Thanks in advance! PS I am building only some modules of Qt (if it matters ... but I belive it does not) : qtbase qtdeclarative qtxmlpatterns From thiago.macieira at intel.com Mon Jan 16 18:25:33 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 16 Jan 2017 09:25:33 -0800 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> Message-ID: <5422594.l52tY8PVn6@tjmaciei-mobl1> On segunda-feira, 16 de janeiro de 2017 04:05:28 PST Ernesto wrote: > Hello everyone, > > Now I´m blocked trying to (statically link) compile Qt statically (I´m > using Qt 5.5.0) to runs my applications without Qt and others libraries. > I did the following: First of all, please upgrade. You're not using the latest. At the very least to 5.6.2, but 5.7.1 or 5.8.0 are fine too. > First I went to /C:\Qt\Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++\/ and > edited /qmake.conf/ [cut] > /configure -platform win32-g++ -static –release/ You don't need to edit the mkspec. The -static option you passed to configure is enough. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Mon Jan 16 18:31:37 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 16 Jan 2017 09:31:37 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1335452458.20170116190456@programist.ru> References: <1335452458.20170116190456@programist.ru> Message-ID: <3738972.cDmlriKznL@tjmaciei-mobl1> On segunda-feira, 16 de janeiro de 2017 19:04:56 PST Prav wrote: > qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error > C2039: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : is not a > member of '`global namespace'' Why is RTTI disabled? Can you provide the build log for the file that failed to compile? I want to see the command-line to the compiler when it compiled qsgsoftwarepublicnodes.cpp. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From william.crocker at analog.com Mon Jan 16 19:05:57 2017 From: william.crocker at analog.com (Bill Crocker) Date: Mon, 16 Jan 2017 13:05:57 -0500 Subject: [Interest] 5.8.0 QAbstractListModel In-Reply-To: References: <587CABF1.4080009@analog.com> Message-ID: <587D0B85.3010202@analog.com> >> >> I do this all of the time and it works fine. >> >> QModelIndex index = createIndex(row,col); >> emit dataChanged(index,index); >> > Have you tried it under 5.8.0RC? > It was working under 5.7.1 and before. > What value for column are you using? > For AbstractListModel, I was using 0 (zero) I am at 5.7 Yes, for a List model, col would always be 0. Per a previous post, are you adding or removing rows. If so, was that all reported (emitted) so the views know about it. Models are a pain in the butt in that if you do not use them correctly, they will silently misbehave and not necessarily right away. You should also use the "ModelTest" class to point out the mistakes that it can. Bill From nunosantos at imaginando.pt Mon Jan 16 20:06:28 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 16 Jan 2017 19:06:28 +0000 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> Message-ID: <5226F73B-52BF-4249-A10B-A075AF317F36@imaginando.pt> Ernesto, I have been able to compile Qt statically on Windows since version 5.6. One thing that have I found is that having the right environment is crucial. I usually open a Visual Studio command prompt and then I run a bat with the following content (currently for 5.8 32 bit) REM Set up \Microsoft Visual Studio 2015, where is \c amd64, \c x86, etc. CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 SET _ROOT=C:\Qt\5.8\src\ SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%;c:\python27\ REM Uncomment the below line when using a git checkout of the source repository REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH% SET QMAKESPEC=win32-msvc SET QMAKE_MSC_VER=1900 SET _ROOT= > On 16 Jan 2017, at 03:05, Ernesto wrote: > > > > Hello everyone, > Now I´m blocked trying to (statically link) compile Qt statically (I´m using Qt 5.5.0) to runs my applications without Qt and others libraries. I did the following: > > First I went to C:\Qt\Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++\ and edited qmake.conf > I put in QMAKE_LFLAGS something like this: > QMAKE_LFLAGS = -static -enable-stdcall-fixup -wl,-enable-auto-import -wl,-enable-runtime-pseudo-reloc > > Next I opened the Qt console > So configure command doesn´t work, I have to change the default path for Qt console (C:\Qt\Qt5.5.0\5.5\mingw492_32) to C:\Qt\Qt5.5.0\5.5\Src\qtbase because configure.exe doesn´t exist in mingw492_32 folder, it is in qtbasefolder. > > So I enter > configure -platform win32-g++ -static –release > > And the last lines of output was: > Creating qmake... > mingw32-make: Nothing to be done for 'first'. > Running configuration tests... > WARNING: The DirectX SDK could not be detected: > There is no Direct X SDK installed or the environment variable "DXSDK_DIR" is not set. > Disabling the ANGLE backend. > WARNING: Using OpenGL ES 2.0 without ANGLE. > Specify -opengl desktop to use Open GL. > The build will most likely fail. > (Press any key to continue...) > > When I press any key, runs and I get this: > Qt is now configured for building. Just run mingw32-make. > To reconfigure, run mingw32-make confclean and configure. > > And later I type mingw32-make sub-src and I wait with patience. Several minutes later I get that: > Makefile:34: recipe for target 'release' failed > mingw32-make[2]: *** [release] Error 2 > mingw32-make[2]: Leaving directory 'c:/Qt/Qt5.5.0/5.5/Src/qtbase/src/tools/qlalr' > Makefile:188: recipe for target 'sub-qlalr-make_first' failed > mingw32-make[1]: *** [sub-qlalr-make_first] Error 2 > mingw32-make[1]: Leaving directory 'c:/Qt/Qt5.5.0/5.5/Src/qtbase/src' > makefile:38: recipe for target 'sub-src' failed > mingw32-make: *** [sub-src] Error 2 > > Return to my Project file (.pro) and add the following line of code: > CONFIG += static > > When I compile the Project its show me this errors: > :-1: error: error: unrecognized command line option '-wl,-enable-auto-import' > :-1: error: error: unrecognized command line option '-wl,-enable-runtime-pseudo-reloc' > > I went to qmake.conf file of the beginning and delete this two arguments, it will result like this: > QMAKE_LFLAGS = -static -enable-stdcall-fixup > > I compile and: > :-1: warning: cannot find entry symbol nable-stdcall-fixup; defaulting to 00401000 > > So again I delete this args, resulting: > QMAKE_LFLAGS = -static > > When I compile at this point, Qt says me (xxx is the rest of project absolute path): > Starting xxx\release\DynamicLink.exe... > xxx\release\DynamicLink.exe exited with code 1989883493 > > And doesn´t shows my MainWindows. > > > Regards for all, > Ernesto > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Jan 16 20:51:28 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 16 Jan 2017 20:51:28 +0100 Subject: [Interest] context menu shortcut? Message-ID: <2502724.Ea9YKBvUPY@portia.local> Hi, I presume that Qt opens the currently defined/available context menu in reaction to pressing the corresponding key on MS Windows and possibly on Linux too. Is there a way to assign a shortcut to this action on Mac too (and on Linux, if not already the case)? Thanks, René From rpzrpzrpz at gmail.com Tue Jan 17 03:07:55 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Mon, 16 Jan 2017 20:07:55 -0600 Subject: [Interest] 5.8.0 QAbstractListModel In-Reply-To: <587D0B85.3010202@analog.com> References: <587CABF1.4080009@analog.com> <587D0B85.3010202@analog.com> Message-ID: Bill: I thought I would do a brain dump on what I learned. If your data is bound by the roleNames() mechanism, then the dataChanged( ) function works greatl If your data is retrieved by INVOKABLE functions, then you need to call the following: QModelIndex gi = QModelIndex() ; beginInsertRows(gi,gnrow,gnrow); endInsertRows(); beginRemoveRows(gi,gnrow,gnrow); endRemoveRows(); This will force the listview to drop and re-create the component in the delegate. Thanks for your feedback. Marco On Mon, Jan 16, 2017 at 12:05 PM, Bill Crocker wrote: > >>> >>> I do this all of the time and it works fine. >>> >>> QModelIndex index = createIndex(row,col); >>> emit dataChanged(index,index); >>> > >> Have you tried it under 5.8.0RC? >> It was working under 5.7.1 and before. >> What value for column are you using? >> For AbstractListModel, I was using 0 (zero) > > > I am at 5.7 > Yes, for a List model, col would always be 0. > Per a previous post, are you adding or removing rows. > If so, was that all reported (emitted) so the views know about it. > Models are a pain in the butt in that if you do not > use them correctly, they will silently misbehave > and not necessarily right away. > > You should also use the "ModelTest" class to > point out the mistakes that it can. > > Bill > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From Shawn.Rutledge at qt.io Tue Jan 17 08:27:28 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Tue, 17 Jan 2017 07:27:28 +0000 Subject: [Interest] context menu shortcut? In-Reply-To: <2502724.Ea9YKBvUPY@portia.local> References: <2502724.Ea9YKBvUPY@portia.local> Message-ID: <8BDF35E5-8EDA-4AD7-B9FF-6708C1A35D85@qt.io> > On 16 Jan 2017, at 20:51, René J.V. Bertin wrote: > > Hi, > > I presume that Qt opens the currently defined/available context menu in reaction to pressing the corresponding key on MS Windows and possibly on Linux too. > > Is there a way to assign a shortcut to this action on Mac too (and on Linux, if not already the case)? It’s not in QKeySequence::StandardKey. There is a table in the QKeySequence docs which shows the standard key assignments on each platform. Personally I don’t miss that on Linux… it’s just an extra key available for some other purpose (I’ve used it as a compose key sometimes, for example). From 754833745 at qq.com Tue Jan 17 09:35:39 2017 From: 754833745 at qq.com (=?ISO-8859-1?B?TGFycnk=?=) Date: Tue, 17 Jan 2017 16:35:39 +0800 Subject: [Interest] How to build qt3d editor? Message-ID: Is there anyone knows, please! os: ubuntu 16.04 Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From pr12og2 at programist.ru Tue Jan 17 09:39:04 2017 From: pr12og2 at programist.ru (Prav) Date: Tue, 17 Jan 2017 11:39:04 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <3738972.cDmlriKznL@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> Message-ID: <689612922.20170117113904@programist.ru> Hello, Thiago. >I want to see the command-line to the compiler Here is compile command and its output (till next compile file) cl -c -FIQtQuickDepends -YuQtQuickDepends -Fp.pch\release\Qt5Quick_pch.pch -nologo -Zc:wchar_t -FS -O2 -MD -Zc:strictStrings -D_HAS_EXCEPTIONS=0 -W3 -w34100 -w34189 -w44996 -DUNICODE -DWIN32 -DQT_NO_URL_CAST_FROM_STRING -DQT_NO_INTEGER_EVENT_COORDINATES -D_CRT_SECURE_NO_WARNINGS -DQT_BUILD_QUICK_LIB -DQT_BUILDING_QT -D_USE_MATH_DEFINES -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NO_DYNAMIC_CAST -DNDEBUG -D_WINDLL -IA:\qtt\__\580\qtdeclarative\src\quick -I. -IA:\qtt\__\580\qtdeclarative\src\quick -IA:\qtt\__\580\qtdeclarative\include -IA:\qtt\__\580\qtdeclarative\include\QtQuick -I..\..\include -I..\..\include\QtQuick -IA:\qtt\__\580\qtdeclarative\include\QtQuick\5.8.0 -IA:\qtt\__\580\qtdeclarative\include\QtQuick\5.8.0\QtQuick -I..\..\include\QtQuick\5.8.0 -I..\..\include\QtQuick\5.8.0\QtQuick -Itmp -IA:\qtt\__\580\qtbase\include\QtGui\5.8.0 -IA:\qtt\__\580\qtbase\include\QtGui\5.8.0\QtGui -IA:\qt\qtbase\include\QtGui\5.8.0 -IA:\qt\qtbase\include\QtGui\5.8.0\QtGui -IA:\qtt\__\580\qtdeclarative\include\QtQml\5.8.0 -IA:\qtt\__\580\qtdeclarative\include\QtQml\5.8.0\QtQml -I..\..\include\QtQml\5.8.0 -I..\..\include\QtQml\5.8.0\QtQml -IA:\qtt\__\580\qtbase\include\QtCore\5.8.0 -IA:\qtt\__\580\qtbase\include\QtCore\5.8.0\QtCore -IA:\qt\qtbase\include\QtCore\5.8.0 -IA:\qt\qtbase\include\QtCore\5.8.0\QtCore -IA:\qtt\__\580\qtbase\include -IA:\qtt\__\580\qtbase\include\QtGui -IA:\qt\qtbase\include -IA:\qt\qtbase\include\QtGui -IA:\qtt\__\580\qtdeclarative\include\QtQml -I..\..\include\QtQml -IA:\qtt\__\580\qtbase\include\QtNetwork -IA:\qt\qtbase\include\QtNetwork -IA:\qtt\__\580\qtbase\include\QtCore -IA:\qt\qtbase\include\QtCore -I.moc\release -IA:\qtt\__\580\qtbase\mkspecs\win32-msvc2013 -Fo.obj\release\ @C:\Temp\qsgsoftwarecontext.obj.6564.26031.jom qsgsoftwarecontext.cpp qsgabstractsoftwarerenderer.cpp a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2825: 'T': must be a class or namespace when followed by '::' A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see reference to function template instantiation 'T qt_dynamic_cast_check(X,T *)' being compiled with [ T=QSGSoftwarePixmapTexture * , X=QSGTexture * ] a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2039: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : is not a member of '`global namespace'' a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2146: syntax error : missing ';' before identifier 'dynamic_cast_will_always_fail_because_rtti_is_disabled' a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2275: 'T' : illegal use of this type as an expression A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see declaration of 'T' a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2065: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : undeclared identifier A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(104) : see declaration of 'T' > Why is RTTI disabled? All previous versions of Qt I build successfully without RTTI (I did not need it and I was glad that Qt did not need it too). This is not the case any more starting from Qt 5.8.0? Or its more complex ... like some modules needs RTTI and some not? But OK. Let's assume that RTTI is necessary for qtdeclarative. If I remove -no-rtti flag from config I get another error message ( Qt 5.8.0 building seems not an easy job :) ) First error is in : qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : cl -c -nologo -Zc:wchar_t -FS -Zi -MDd -D_HAS_EXCEPTIONS=0 -GR -W3 -w34100 -w34189 -w44996 /Fd.obj\debug\qsgd3d12backendd.vc.pdb -DUNICODE -DWIN32 -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB -D_WINDLL -IA:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12 -I. -IA:\qtt\__\580\qtdeclarative\include\QtQuick\5.8.0 -IA:\qtt\__\580\qtdeclarative\include\QtQuick\5.8.0\QtQuick -I..\..\..\..\include\QtQuick\5.8.0 -I..\..\..\..\include\QtQuick\5.8.0\QtQuick -IA:\qtt\__\580\qtbase\include\QtGui\5.8.0 -IA:\qtt\__\580\qtbase\include\QtGui\5.8.0\QtGui -IA:\qt\qtbase\include\QtGui\5.8.0 -IA:\qt\qtbase\include\QtGui\5.8.0\QtGui -IA:\qtt\__\580\qtdeclarative\include -IA:\qtt\__\580\qtdeclarative\include\QtQuick -I..\..\..\..\include -I..\..\..\..\include\QtQuick -IA:\qtt\__\580\qtbase\include -IA:\qtt\__\580\qtbase\include\QtGui -IA:\qt\qtbase\include -IA:\qt\qtbase\include\QtGui -IA:\qtt\__\580\qtdeclarative\include\QtQml\5.8.0 -IA:\qtt\__\580\qtdeclarative\include\QtQml\5.8.0\QtQml -I..\..\..\..\include\QtQml\5.8.0 -I..\..\..\..\include\QtQml\5.8.0\QtQml -IA:\qtt\__\580\qtbase\include\QtCore\5.8.0 -IA:\qtt\__\580\qtbase\include\QtCore\5.8.0\QtCore -IA:\qt\qtbase\include\QtCore\5.8.0 -IA:\qt\qtbase\include\QtCore\5.8.0\QtCore -IA:\qtt\__\580\qtdeclarative\include\QtQml -I..\..\..\..\include\QtQml -IA:\qtt\__\580\qtbase\include\QtNetwork -IA:\qt\qtbase\include\QtNetwork -IA:\qtt\__\580\qtbase\include\QtCore -IA:\qt\qtbase\include\QtCore -I.moc\debug -IA:\qtt\__\580\qtbase\mkspecs\win32-msvc2013 -Fo.obj\debug\ @A:\Temp\qsgd3d12shadereffectnode.obj.6140.21313.jom qsgd3d12shadereffectnode.cpp A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) : error C2061: syntax error : identifier 'textureProviders' A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(545) : error C2446: '!=' : no conversion from 'QSGTextureProvider *&(__cdecl *)(void)' to 'QSGTextureProvider *' There is no context in which this conversion is possible A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(545) : error C2040: '!=' : 'QSGTextureProvider *' differs in levels of indirection from 'QSGTextureProvider *&(__cdecl *)(void)' A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(546) : warning C4551: function call missing argument list A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(548) : error C2665: 'QObject::disconnect' : none of the 5 overloads could convert all the argument types a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(333): could be 'bool QObject::disconnect(const QObject *,const QMetaMethod &,const QObject *,const QMetaMethod &)' a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(331): or 'bool QObject::disconnect(const QObject *,const char *,const QObject *,const char *)' while trying to match the argument list '(QSGTextureProvider *&(__cdecl *)(void), const char *, QSGD3D12ShaderEffectNode *, const char *)' A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(550) : error C2665: 'QObject::disconnect' : none of the 5 overloads could convert all the argument types a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(333): could be 'bool QObject::disconnect(const QObject *,const QMetaMethod &,const QObject *,const QMetaMethod &)' a:\qtt\__\580\qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(331): or 'bool QObject::disconnect(const QObject *,const char *,const QObject *,const char *)' while trying to match the argument list '(QSGTextureProvider *&(__cdecl *)(void), const char *, QSGD3D12ShaderEffectNode *, const char *)' A:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(564) : error C2659: '=' : function as left operand cl -c -nologo -Zc:wchar_t -FS -Zi -MDd -D_HAS_EXCEPTIONS=0 -GR -W3 -w34100 -w34189 -w44996 /Fd.obj\debug\qsgd3d12backendd.vc.pdb -DUNICODE -DWIN32 -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB -D_WINDLL -IA:\qtt\__\580\qtdeclarative\src\plugins\scenegraph\d3d12 -I. -IA:\qtt\__\580\qtdeclarative\include\QtQuick\5.8.0 -IA:\qtt\__\580\qtdeclarative\include\QtQuick\5.8.0\QtQuick -I..\..\..\..\include\QtQuick\5.8.0 -I..\..\..\..\include\QtQuick\5.8.0\QtQuick -IA:\qtt\__\580\qtbase\include\QtGui\5.8.0 -IA:\qtt\__\580\qtbase\include\QtGui\5.8.0\QtGui -IA:\qt\qtbase\include\QtGui\5.8.0 -IA:\qt\qtbase\include\QtGui\5.8.0\QtGui -IA:\qtt\__\580\qtdeclarative\include -IA:\qtt\__\580\qtdeclarative\include\QtQuick -I..\..\..\..\include -I..\..\..\..\include\QtQuick -IA:\qtt\__\580\qtbase\include -IA:\qtt\__\580\qtbase\include\QtGui -IA:\qt\qtbase\include -IA:\qt\qtbase\include\QtGui -IA:\qtt\__\580\qtdeclarative\include\QtQml\5.8.0 -IA:\qtt\__\580\qtdeclarative\include\QtQml\5.8.0\QtQml -I..\..\..\..\include\QtQml\5.8.0 -I..\..\..\..\include\QtQml\5.8.0\QtQml -IA:\qtt\__\580\qtbase\include\QtCore\5.8.0 -IA:\qtt\__\580\qtbase\include\QtCore\5.8.0\QtCore -IA:\qt\qtbase\include\QtCore\5.8.0 -IA:\qt\qtbase\include\QtCore\5.8.0\QtCore -IA:\qtt\__\580\qtdeclarative\include\QtQml -I..\..\..\..\include\QtQml -IA:\qtt\__\580\qtbase\include\QtNetwork -IA:\qt\qtbase\include\QtNetwork -IA:\qtt\__\580\qtbase\include\QtCore -IA:\qt\qtbase\include\QtCore -I.moc\debug -IA:\qtt\__\580\qtbase\mkspecs\win32-msvc2013 -Fo.obj\debug\ @A:\Temp\qsgd3d12spritenode.obj.6140.22688.jom qsgd3d12spritenode.cpp Thanks for helping Thiago! PS What about Win10 SDK question? It is required now or it is bug in build system? PS2 Full config string is following (if it matters): configure -make-tool jom -shared -debug-and-release -platform win32-msvc2013 -opensource -confirm-license -prefix A:\qt\_ -optimized-tools -opengl desktop -no-angle -no-directwrite -no-avx2 -avx -sse4.2 -sse4.1 -ssse3 -sse3 -sse2 -no-icu -no-ltcg -no-incredibuild-xge -no-compile-examples -no-openssl -no-system-proxies -no-ssl -no-gif -no-libjpeg -qt-libpng -no-dbus -no-sql-sqlite -no-sql-mysql -no-sql-sqlite2 -no-sql-psql -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-db2 -no-sql-ibase -no-qml-debug -no-inotify -no-evdev -no-mtdev -no-eventfd -nomake tools -nomake examples -nomake tests From dmitry.volosnykh at gmail.com Tue Jan 17 09:49:45 2017 From: dmitry.volosnykh at gmail.com (Dmitry Volosnykh) Date: Tue, 17 Jan 2017 08:49:45 +0000 Subject: [Interest] How to build qt3d editor? In-Reply-To: References: Message-ID: Hello, Larry. Would you be so kind to elaborate more on what you have tried so far and what result were achieved? Regards. On Tue, Jan 17, 2017 at 11:36 AM Larry <754833745 at qq.com> wrote: > Is there anyone knows, please! > os: ubuntu 16.04 > > Thanks!_______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From william.crocker at analog.com Tue Jan 17 12:18:35 2017 From: william.crocker at analog.com (william.crocker at analog.com) Date: Tue, 17 Jan 2017 06:18:35 -0500 Subject: [Interest] 5.8.0 QAbstractListModel In-Reply-To: References: <587CABF1.4080009@analog.com> <587D0B85.3010202@analog.com> Message-ID: <587DFD8B.8040202@analog.com> On 01/16/2017 09:07 PM, mark diener wrote: > Bill: > > I thought I would do a brain dump on what I learned. > > If your data is bound by the roleNames() mechanism, then the > dataChanged( ) function works greatl > > If your data is retrieved by INVOKABLE functions, then you need to call > the following: > > QModelIndex gi = QModelIndex() ; > beginInsertRows(gi,gnrow,gnrow); > endInsertRows(); > beginRemoveRows(gi,gnrow,gnrow); > endRemoveRows(); > You should always use functions of that sort to notify views of changes to the underlying model. From my experience this becomes even more important if you start to use proxy models. > This will force the listview to drop and re-create the component in > the delegate. > > Thanks for your feedback. > > Marco > > > > On Mon, Jan 16, 2017 at 12:05 PM, Bill Crocker > wrote: >> >>>> >>>> I do this all of the time and it works fine. >>>> >>>> QModelIndex index = createIndex(row,col); >>>> emit dataChanged(index,index); >>>> >> >>> Have you tried it under 5.8.0RC? >>> It was working under 5.7.1 and before. >>> What value for column are you using? >>> For AbstractListModel, I was using 0 (zero) >> >> >> I am at 5.7 >> Yes, for a List model, col would always be 0. >> Per a previous post, are you adding or removing rows. >> If so, was that all reported (emitted) so the views know about it. >> Models are a pain in the butt in that if you do not >> use them correctly, they will silently misbehave >> and not necessarily right away. >> >> You should also use the "ModelTest" class to >> point out the mistakes that it can. >> >> Bill >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > > From h4nn35.work at gmail.com Tue Jan 17 13:30:55 2017 From: h4nn35.work at gmail.com (Johannes Pointner) Date: Tue, 17 Jan 2017 13:30:55 +0100 Subject: [Interest] Qt Wayland Compositor screen rotation Message-ID: Hello everyone, I just started to look into the new compositor api for wayland and was wondering if it should be possible to implement a mobile phone like screen/app rotation using this api? Thx in advance, Hannes From andre at familiesomers.nl Tue Jan 17 13:38:18 2017 From: andre at familiesomers.nl (=?UTF-8?Q?Andr=c3=a9_Somers?=) Date: Tue, 17 Jan 2017 13:38:18 +0100 Subject: [Interest] Finally about extends my app function ability In-Reply-To: References: <5f680539-7ff7-79cf-85a9-ec932a736d1a@icrt.cu> Message-ID: <1826cbe7-29d5-87a1-9970-de89e9314f96@familiesomers.nl> > I can´t found an explanation of the differences of > /reinterpret_cast/ and /dynamic_cast/, because I can´t found > information about /reinterpret_cast/ in Qt Documentation (5.5.0 Qt > version). > > > You will probably find that Qt doesn't have much to say about them > because they are part of the C++ language. > > http://en.cppreference.com/w/cpp/language/dynamic_cast > http://en.cppreference.com/w/cpp/language/reinterpret_cast > > ...and, since you're looking at casting, you should probably know > about const_cast and static_cast as well: > > http://en.cppreference.com/w/cpp/language/const_cast > http://en.cppreference.com/w/cpp/language/static_cast > Also have a look then at the cast operator that Qt _does_ provide: qobject_cast: http://doc.qt.io/qt-5/qobject.html#qobject_cast André -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Tue Jan 17 16:41:53 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Tue, 17 Jan 2017 16:41:53 +0100 Subject: [Interest] context menu shortcut? References: <2502724.Ea9YKBvUPY@portia.local> <8BDF35E5-8EDA-4AD7-B9FF-6708C1A35D85@qt.io> Message-ID: <16875096.c7vhDCxV7E@portia.local> Shawn Rutledge wrote: Hi, > It’s not in QKeySequence::StandardKey. There is a table in the QKeySequence > docs which shows the standard key assignments on each platform. > > Personally I don’t miss that on Linux… it’s just an extra key available for > some other purpose (I’ve used it as a compose key sometimes, for example). I don't really miss it on Linux either, but I think that's because I've never worked long enough under MSWin with this key in a convenient location, plus hitting a key to open a menu and then going back to the mouse or trackpad to pick the desired menu item isn't necessarily practical. But I now have a Qt5-based application which on Mac seems to eat almost 1 out of every right-button click, and sometimes activates the 1st menu item from the context menu immediately. It must be a bug, but a sufficiently hard one to trace that I'm looking for alternative and reliable ways to open that menu. FWIW I'm not seeing this when I use the xcb QPA so it may be partly an issue in Qt 5.7.1 (partly because not all Qt5 apps behave like this, fortunately). R. From thiago.macieira at intel.com Tue Jan 17 18:19:58 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 17 Jan 2017 09:19:58 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <689612922.20170117113904@programist.ru> References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> <689612922.20170117113904@programist.ru> Message-ID: <3323759.jqXmU4xZFZ@tjmaciei-mobl1> Em terça-feira, 17 de janeiro de 2017, às 11:39:04 PST, Prav escreveu: > cl -c -FIQtQuickDepends -YuQtQuickDepends > -Fp.pch\release\Qt5Quick_pch.pch -nologo -Zc:wchar_t -FS -O2 -MD > -Zc:strictStrings -D_HAS_EXCEPTIONS=0 -W3 -w34100 -w34189 -w44996 -DUNICODE > -DWIN32 -DQT_NO_URL_CAST_FROM_STRING -DQT_NO_INTEGER_EVENT_COORDINATES > -D_CRT_SECURE_NO_WARNINGS -DQT_BUILD_QUICK_LIB -DQT_BUILDING_QT > -D_USE_MATH_DEFINES -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS > -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS > -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG > -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB > -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NO_DYNAMIC_CAST -DNDEBUG > -D_WINDLL -DQT_NO_DYNAMIC_CAST is there. Did you pass any options related to RTTI to configure? Can you share your configure command-line? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From frank at ohufx.com Wed Jan 18 05:21:46 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Wed, 18 Jan 2017 17:21:46 +1300 Subject: [Interest] QThreadPool functionality for QThreads Message-ID: Hi, I got another threading question for the pros out there: In my current application I am using QThread objects and QObject.moveToThread() to enable my GUI to download multiple files while updating progress bars in the main event loop. This is the respective snippet of code: self.worker = MyClass() self.workerThread = QtCore.QThread() self.worker.moveToThread(self.workerThread) The trouble is when the user wants to download multiple files at once. In my current implementation that all works fine and I see multiple progress bars do there thing. However, there are cases when I need to force the download threads to be synchronous. I had hoped that I can use QThreadPool with QThreads, but turns out I need QRunnables in this case, and those don't have the same signals as QThread. So my question is: Is there a good way to use QThreads in a queue which is controlled by the main thread, or should I re-write my code and subclass QRunnable to add the signals I need (i.e. the ones that QThread has by default)? In the latter case I guess I'd have to inherit from both QObject and QRunnable, is this ok? Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ohufxLogo_50x50.png Type: image/png Size: 2666 bytes Desc: not available URL: From thiago.macieira at intel.com Wed Jan 18 06:26:57 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 17 Jan 2017 21:26:57 -0800 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: Message-ID: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> On quarta-feira, 18 de janeiro de 2017 17:21:46 PST Frank Rueter | OHUfx wrote: > Hi, > > I got another threading question for the pros out there: > > In my current application I am using QThread objects and > QObject.moveToThread() to enable my GUI to download multiple files while > updating progress bars in the main event loop. This is the respective As usual, the usual disclaimer: you do not need threads to do networking or file I/O. The combined overhead of the networking I/O and saving of the files is unlikely to overwhelm the event loop to the point that the progress bar can't update smoothly. I'm not saying impossible, but it's unlikely. > snippet of code: > self.worker = MyClass() > self.workerThread = QtCore.QThread() > self.worker.moveToThread(self.workerThread) > > The trouble is when the user wants to download multiple files at once. > In my current implementation that all works fine and I see multiple > progress bars do there thing. > However, there are cases when I need to force the download threads to be > synchronous. I had hoped that I can use QThreadPool with QThreads, but > turns out I need QRunnables in this case, and those don't have the same > signals as QThread. Why do you need to force them to be synchronous? And synchronous with what? With each other? Or do you mean sync() in the file saving? Finally, what does being synchronous have to do with signals? > So my question is: > Is there a good way to use QThreads in a queue which is controlled by > the main thread, or should I re-write my code and subclass QRunnable to > add the signals I need (i.e. the ones that QThread has by default)? The whole point of QThread is that the code it runs is independent of anything else. Only the OS scheduler decides when it's time to run it or suspend it. > In the latter case I guess I'd have to inherit from both QObject and > QRunnable, is this ok? Right. But we still don't understand what you're trying to do. All I can tell you is that you don't need to do what you're trying to do, since you don't need threads in the first place. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From pr12og2 at programist.ru Wed Jan 18 08:04:54 2017 From: pr12og2 at programist.ru (Prav) Date: Wed, 18 Jan 2017 10:04:54 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <3323759.jqXmU4xZFZ@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> <689612922.20170117113904@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> Message-ID: <3310351233.20170118100454@programist.ru> Hello, Thiago. > Did you pass any options related to RTTI to configure? Already wrote about that in previous message Build errors with -no-rtti flag and without -no-rtti flag I gave in previous message too Previously I build Qt without RTTI with no problems. That is why I had RTTI turned off. I prefer "turn on only if necessary" strategy :) > Can you share your configure command-line? Already shared in previous message ) Does anyone know about requirements of using Win10SDK for Qt 5.8.0? Is Win10SDK is really necessary to build Qt even for Win7 or it is bug in Qt build system? From thiago.macieira at intel.com Wed Jan 18 08:13:28 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 17 Jan 2017 23:13:28 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <3310351233.20170118100454@programist.ru> References: <1335452458.20170116190456@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> <3310351233.20170118100454@programist.ru> Message-ID: <1993191.7fzLASxFeG@tjmaciei-mobl1> On quarta-feira, 18 de janeiro de 2017 10:04:54 PST Prav wrote: > Build errors with -no-rtti flag and without -no-rtti flag I gave in previous > message too > > Previously I build Qt without RTTI with no problems. That is why I had RTTI > turned off. I prefer "turn on only if necessary" strategy -no-rtti is not tested and clearly someone broke it. I've submitted a change to remove that option from configure starting with Qt 5.8.1. Please delete your build and reconfigure without that option. If you were not using a shadow build, delete all Makefiles before configuring again. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From frank at ohufx.com Wed Jan 18 08:17:41 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Wed, 18 Jan 2017 20:17:41 +1300 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> References: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> Message-ID: <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> Hi Thiago, thanks for your quick reply. I will try and give some more context: I use the python requests module inside my PySide app to post requests to a website. Some of those requests return a lot of data that I need to parse to be able to show progress, other requests are file downloads that I need progress bars for as they stream onto disk. I had tried to not use threads and use QApplication.processEvents() for each data chunk downloaded, but that made the download about 4-5 times slower. Introducing threading made a huge difference. My app can download a list of files at the same time. Depending on the situation and the user request, the list of files to be downloaded can happen asynchronously, in other situations they need to be downloaded one after the other. >>All I can tell you is that you don't need to do what you're trying to do, since you don't need threads in the first place. If I can avoid threads to do the above I would be more than happy to adjust and get rid of them again, but I haven't managed to find a non-threaded approach that doesn't slow down the download significantly. Cheers, frank On 18/01/17 6:26 PM, Thiago Macieira wrote: > On quarta-feira, 18 de janeiro de 2017 17:21:46 PST Frank Rueter | OHUfx > wrote: >> Hi, >> >> I got another threading question for the pros out there: >> >> In my current application I am using QThread objects and >> QObject.moveToThread() to enable my GUI to download multiple files while >> updating progress bars in the main event loop. This is the respective > As usual, the usual disclaimer: you do not need threads to do networking or > file I/O. The combined overhead of the networking I/O and saving of the files is > unlikely to overwhelm the event loop to the point that the progress bar can't > update smoothly. > > I'm not saying impossible, but it's unlikely. > >> snippet of code: >> self.worker = MyClass() >> self.workerThread = QtCore.QThread() >> self.worker.moveToThread(self.workerThread) >> >> The trouble is when the user wants to download multiple files at once. >> In my current implementation that all works fine and I see multiple >> progress bars do there thing. >> However, there are cases when I need to force the download threads to be >> synchronous. I had hoped that I can use QThreadPool with QThreads, but >> turns out I need QRunnables in this case, and those don't have the same >> signals as QThread. > Why do you need to force them to be synchronous? And synchronous with what? > With each other? Or do you mean sync() in the file saving? > > Finally, what does being synchronous have to do with signals? > >> So my question is: >> Is there a good way to use QThreads in a queue which is controlled by >> the main thread, or should I re-write my code and subclass QRunnable to >> add the signals I need (i.e. the ones that QThread has by default)? > The whole point of QThread is that the code it runs is independent of anything > else. Only the OS scheduler decides when it's time to run it or suspend it. > >> In the latter case I guess I'd have to inherit from both QObject and >> QRunnable, is this ok? > Right. > > But we still don't understand what you're trying to do. All I can tell you is > that you don't need to do what you're trying to do, since you don't need > threads in the first place. > From rjvbertin at gmail.com Wed Jan 18 11:09:54 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 18 Jan 2017 11:09:54 +0100 Subject: [Interest] mixing parallel Qt5 installations Message-ID: <1569342.Z7riXaI7hm@bola> Hi, I have a gentoo-prefix like local set-up under Linux with an installation under /opt/local that holds among others Qt5 (5.7.1 currently): /opt/local/libexec/qt5 : libraries & binaries /opt/local/share/qt5 : plugins and other shared stuff not linked or called directly I've observed that I can build Qt 5.8.0RC with the same installation layout but install ("destroot") it elsewhere and then test existing applications from /opt/local with env LD_LIBRARY_PATH=/path/to/destroot/opt/local/libexec/qt5/lib so that they run using Qt 5.8 but still use compatible things from /opt/local/share/qt5, like the QtCurve application style and apparently even the KF5 platform theme plugin. To make testing a bit easier it would be nice if I could make a test install of the form /opt/local/libexec/qt5RC /opt/local/share/qt5RC I expect that this will make it difficult if not impossible to use compatible things from /opt/local/share/qt5, like styles and the platform theme plugin. Is that correct or will that still be possible with minimal effort? Having to set an additional env. variable wouldn't necessarily be an issue as it would allow excluding *in*compatible things that would otherwise cause crashing or aborting. I'd simply try but building and rebuilding Qt takes a bit too long for that. Thanks, René From andre.hartmann at iseg-hv.de Wed Jan 18 11:55:46 2017 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Wed, 18 Jan 2017 11:55:46 +0100 Subject: [Interest] Cross compiling QtSerialPort 4 / serialport.prf questions Message-ID: Hi, We have a Yocto toolchain for embedded Linux images with Qt 4.8.6. The Qt receipes are from openembedded-core / recipes-qt. I now want to include QtSerialPort into this image without upgrading Qt. So I wrote my own bitbake recipe and can build QtSerialPort sucessfully. My problem is to integrate the includes and libraries into the file system tree. Make install didn't work even if I cross-compiled from QtCreator (it tried to install into the host dirs, not the target dirs). So I copy the files myself: - *.h to $D/usr/include/qtopia/QtSerialPort/ - *.so* to $D/usr/lib/ - QtSerialPort.prl to $D/usr/lib - serialport.prf to $D/usr/share/qtopia/mkspecs/linux-g++ However, if I compile a using QtSerialPort program with CONFIG += serialport in the .pro file, it does not find the includes (I thought it compiled yesterday, but at least linking failed). I guess the serialport.prf does the necessary magic to find the includes and libs - however that does not seems to work. Any hints how to proceed? Thanks in advance! Best regards, André -------------- next part -------------- $ ll oe-core/build/out-glibc/sysroots/apalis-imx6/usr/share/qtopia/mkspecs/linux-g++ drwxr-xr-x 2 lb lb 4096 Jan 17 16:48 ./ drwxr-xr-x 110 lb lb 4096 Jan 17 16:48 ../ -rw-r--r-- 3 lb lb 343 Sep 27 12:04 qmake.conf -rw-r--r-- 3 lb lb 3279 Sep 27 12:04 qplatformdefs.h -rw-r--r-- 3 lb lb 844 Jan 17 16:48 serialport.prf $ ll oe-core/build/out-glibc/sysroots/apalis-imx6/usr/include/qtopia/ drwxr-xr-x 22 lb lb 4096 Jan 17 16:48 ./ drwxr-xr-x 135 lb lb 12288 Jan 17 16:48 ../ drwxr-xr-x 2 lb lb 40960 Sep 27 12:06 Qt/ drwxr-xr-x 2 lb lb 16384 Sep 27 12:06 Qt3Support/ drwxr-xr-x 2 lb lb 24576 Sep 27 12:06 QtCore/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtDeclarative/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtDesigner/ drwxr-xr-x 2 lb lb 45056 Sep 27 12:06 QtGui/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtHelp/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtMultimedia/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtNetwork/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtOpenGL/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtOpenVG/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtScript/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtScriptTools/ drwxr-xr-x 2 lb lb 4096 Jan 17 16:48 QtSerialPort/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtSql/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtSvg/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtTest/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtUiTools/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtXml/ drwxr-xr-x 2 lb lb 4096 Sep 27 12:06 QtXmlPatterns/ $ ll oe-core/build/out-glibc/sysroots/apalis-imx6/usr/lib | grep -i qt -rw-r--r-- 3 lb lb 749 Sep 27 12:06 libQt3SupportE.la -rw-r--r-- 3 lb lb 905 Sep 27 12:06 libQt3SupportE.prl lrwxrwxrwx 1 lb lb 23 Sep 27 12:06 libQt3SupportE.so -> libQt3SupportE.so.4.8.6* lrwxrwxrwx 1 lb lb 23 Sep 27 12:06 libQt3SupportE.so.4 -> libQt3SupportE.so.4.8.6* lrwxrwxrwx 1 lb lb 23 Sep 27 12:06 libQt3SupportE.so.4.8 -> libQt3SupportE.so.4.8.6* -rwxr-xr-x 3 lb lb 3064500 Dez 14 2015 libQt3SupportE.so.4.8.6* -rw-r--r-- 3 lb lb 689 Sep 27 12:06 libQtCLuceneE.la -rw-r--r-- 3 lb lb 839 Sep 27 12:06 libQtCLuceneE.prl lrwxrwxrwx 1 lb lb 22 Sep 27 12:06 libQtCLuceneE.so -> libQtCLuceneE.so.4.8.6* lrwxrwxrwx 1 lb lb 22 Sep 27 12:06 libQtCLuceneE.so.4 -> libQtCLuceneE.so.4.8.6* lrwxrwxrwx 1 lb lb 22 Sep 27 12:06 libQtCLuceneE.so.4.8 -> libQtCLuceneE.so.4.8.6* -rwxr-xr-x 3 lb lb 9239352 Dez 14 2015 libQtCLuceneE.so.4.8.6* -rw-r--r-- 3 lb lb 656 Sep 27 12:06 libQtCoreE.la -rw-r--r-- 3 lb lb 793 Sep 27 12:06 libQtCoreE.prl lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtCoreE.so -> libQtCoreE.so.4.8.6* lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtCoreE.so.4 -> libQtCoreE.so.4.8.6* lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtCoreE.so.4.8 -> libQtCoreE.so.4.8.6* -rwxr-xr-x 3 lb lb 28214512 Sep 27 12:02 libQtCoreE.so.4.8.6* -rw-r--r-- 3 lb lb 752 Sep 27 12:06 libQtDeclarativeE.la -rw-r--r-- 3 lb lb 975 Sep 27 12:06 libQtDeclarativeE.prl lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtDeclarativeE.so -> libQtDeclarativeE.so.4.8.6* lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtDeclarativeE.so.4 -> libQtDeclarativeE.so.4.8.6* lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtDeclarativeE.so.4.8 -> libQtDeclarativeE.so.4.8.6* -rwxr-xr-x 3 lb lb 48002220 Mär 22 2016 libQtDeclarativeE.so.4.8.6* -rw-r--r-- 3 lb lb 722 Sep 27 12:06 libQtDesignerComponentsE.prl lrwxrwxrwx 1 lb lb 33 Sep 27 12:06 libQtDesignerComponentsE.so -> libQtDesignerComponentsE.so.4.8.6* lrwxrwxrwx 1 lb lb 33 Sep 27 12:06 libQtDesignerComponentsE.so.4 -> libQtDesignerComponentsE.so.4.8.6* lrwxrwxrwx 1 lb lb 33 Sep 27 12:06 libQtDesignerComponentsE.so.4.8 -> libQtDesignerComponentsE.so.4.8.6* -rwxr-xr-x 3 lb lb 34831028 Sep 27 12:03 libQtDesignerComponentsE.so.4.8.6* -rw-r--r-- 3 lb lb 666 Sep 27 12:06 libQtDesignerE.prl lrwxrwxrwx 1 lb lb 23 Sep 27 12:06 libQtDesignerE.so -> libQtDesignerE.so.4.8.6* lrwxrwxrwx 1 lb lb 23 Sep 27 12:06 libQtDesignerE.so.4 -> libQtDesignerE.so.4.8.6* lrwxrwxrwx 1 lb lb 23 Sep 27 12:06 libQtDesignerE.so.4.8 -> libQtDesignerE.so.4.8.6* -rwxr-xr-x 3 lb lb 43437124 Dez 14 2015 libQtDesignerE.so.4.8.6* -rw-r--r-- 3 lb lb 687 Sep 27 12:06 libQtGuiE.la -rw-r--r-- 3 lb lb 858 Sep 27 12:06 libQtGuiE.prl lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtGuiE.so -> libQtGuiE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtGuiE.so.4 -> libQtGuiE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtGuiE.so.4.8 -> libQtGuiE.so.4.8.6* -rwxr-xr-x 3 lb lb 126060920 Mär 22 2016 libQtGuiE.so.4.8.6* -rw-r--r-- 3 lb lb 712 Sep 27 12:06 libQtHelpE.la -rw-r--r-- 3 lb lb 887 Sep 27 12:06 libQtHelpE.prl lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtHelpE.so -> libQtHelpE.so.4.8.6* lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtHelpE.so.4 -> libQtHelpE.so.4.8.6* lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtHelpE.so.4.8 -> libQtHelpE.so.4.8.6* -rwxr-xr-x 3 lb lb 6794608 Dez 14 2015 libQtHelpE.so.4.8.6* -rw-r--r-- 3 lb lb 745 Sep 27 12:06 libQtMultimediaE.la -rw-r--r-- 3 lb lb 875 Sep 27 12:06 libQtMultimediaE.prl lrwxrwxrwx 1 lb lb 25 Sep 27 12:06 libQtMultimediaE.so -> libQtMultimediaE.so.4.8.6* lrwxrwxrwx 1 lb lb 25 Sep 27 12:06 libQtMultimediaE.so.4 -> libQtMultimediaE.so.4.8.6* lrwxrwxrwx 1 lb lb 25 Sep 27 12:06 libQtMultimediaE.so.4.8 -> libQtMultimediaE.so.4.8.6* -rwxr-xr-x 3 lb lb 2492572 Dez 14 2015 libQtMultimediaE.so.4.8.6* -rw-r--r-- 3 lb lb 689 Sep 27 12:06 libQtNetworkE.la -rw-r--r-- 3 lb lb 808 Sep 27 12:06 libQtNetworkE.prl lrwxrwxrwx 1 lb lb 22 Sep 27 12:06 libQtNetworkE.so -> libQtNetworkE.so.4.8.6* lrwxrwxrwx 1 lb lb 22 Sep 27 12:06 libQtNetworkE.so.4 -> libQtNetworkE.so.4.8.6* lrwxrwxrwx 1 lb lb 22 Sep 27 12:06 libQtNetworkE.so.4.8 -> libQtNetworkE.so.4.8.6* -rwxr-xr-x 3 lb lb 16246944 Dez 14 2015 libQtNetworkE.so.4.8.6* -rw-r--r-- 3 lb lb 717 Sep 27 12:06 libQtOpenGLE.la -rw-r--r-- 3 lb lb 884 Sep 27 12:06 libQtOpenGLE.prl lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtOpenGLE.so -> libQtOpenGLE.so.4.8.6* lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtOpenGLE.so.4 -> libQtOpenGLE.so.4.8.6* lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtOpenGLE.so.4.8 -> libQtOpenGLE.so.4.8.6* -rwxr-xr-x 3 lb lb 8325340 Mär 22 2016 libQtOpenGLE.so.4.8.6* -rw-r--r-- 3 lb lb 717 Sep 27 12:06 libQtOpenVGE.la -rw-r--r-- 3 lb lb 863 Sep 27 12:06 libQtOpenVGE.prl lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtOpenVGE.so -> libQtOpenVGE.so.4.8.6* lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtOpenVGE.so.4 -> libQtOpenVGE.so.4.8.6* lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtOpenVGE.so.4.8 -> libQtOpenVGE.so.4.8.6* -rwxr-xr-x 3 lb lb 1721332 Mär 22 2016 libQtOpenVGE.so.4.8.6* -rw-r--r-- 3 lb lb 682 Sep 27 12:06 libQtScriptE.la -rw-r--r-- 3 lb lb 833 Sep 27 12:06 libQtScriptE.prl lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtScriptE.so -> libQtScriptE.so.4.8.6* lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtScriptE.so.4 -> libQtScriptE.so.4.8.6* lrwxrwxrwx 1 lb lb 21 Sep 27 12:06 libQtScriptE.so.4.8 -> libQtScriptE.so.4.8.6* -rwxr-xr-x 3 lb lb 46414872 Dez 14 2015 libQtScriptE.so.4.8.6* -rw-r--r-- 3 lb lb 764 Sep 27 12:06 libQtScriptToolsE.la -rw-r--r-- 3 lb lb 890 Sep 27 12:06 libQtScriptToolsE.prl lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtScriptToolsE.so -> libQtScriptToolsE.so.4.8.6* lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtScriptToolsE.so.4 -> libQtScriptToolsE.so.4.8.6* lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtScriptToolsE.so.4.8 -> libQtScriptToolsE.so.4.8.6* -rwxr-xr-x 3 lb lb 12253032 Dez 14 2015 libQtScriptToolsE.so.4.8.6* -rw-r--r-- 3 lb lb 518 Jan 18 09:28 libQtSerialPortE.prl lrwxrwxrwx 1 lb lb 25 Jan 18 09:28 libQtSerialPortE.so -> libQtSerialPortE.so.1.0.0* lrwxrwxrwx 1 lb lb 25 Jan 18 09:28 libQtSerialPortE.so.1 -> libQtSerialPortE.so.1.0.0* lrwxrwxrwx 1 lb lb 25 Jan 18 09:28 libQtSerialPortE.so.1.0 -> libQtSerialPortE.so.1.0.0* -rwxr-xr-x 3 lb lb 1028068 Jan 18 09:28 libQtSerialPortE.so.1.0.0* -rw-r--r-- 3 lb lb 661 Sep 27 12:06 libQtSqlE.la -rw-r--r-- 3 lb lb 796 Sep 27 12:06 libQtSqlE.prl lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtSqlE.so -> libQtSqlE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtSqlE.so.4 -> libQtSqlE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtSqlE.so.4.8 -> libQtSqlE.so.4.8.6* -rwxr-xr-x 3 lb lb 3001316 Dez 14 2015 libQtSqlE.so.4.8.6* -rw-r--r-- 3 lb lb 696 Sep 27 12:06 libQtSvgE.la -rw-r--r-- 3 lb lb 854 Sep 27 12:06 libQtSvgE.prl lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtSvgE.so -> libQtSvgE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtSvgE.so.4 -> libQtSvgE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtSvgE.so.4.8 -> libQtSvgE.so.4.8.6* -rwxr-xr-x 3 lb lb 4343888 Dez 14 2015 libQtSvgE.so.4.8.6* -rw-r--r-- 3 lb lb 668 Sep 27 12:06 libQtTestE.la -rw-r--r-- 3 lb lb 805 Sep 27 12:06 libQtTestE.prl lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtTestE.so -> libQtTestE.so.4.8.6* lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtTestE.so.4 -> libQtTestE.so.4.8.6* lrwxrwxrwx 1 lb lb 19 Sep 27 12:06 libQtTestE.so.4.8 -> libQtTestE.so.4.8.6* -rwxr-xr-x 3 lb lb 1626776 Dez 14 2015 libQtTestE.so.4.8.6* -rw-r--r-- 3 lb lb 11184310 Sep 27 12:05 libQtUiToolsE.a -rw-r--r-- 3 lb lb 751 Sep 27 12:06 libQtUiToolsE.prl -rw-r--r-- 3 lb lb 661 Sep 27 12:06 libQtXmlE.la -rw-r--r-- 3 lb lb 795 Sep 27 12:06 libQtXmlE.prl lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtXmlE.so -> libQtXmlE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtXmlE.so.4 -> libQtXmlE.so.4.8.6* lrwxrwxrwx 1 lb lb 18 Sep 27 12:06 libQtXmlE.so.4.8 -> libQtXmlE.so.4.8.6* -rwxr-xr-x 3 lb lb 1462804 Dez 14 2015 libQtXmlE.so.4.8.6* -rw-r--r-- 3 lb lb 730 Sep 27 12:06 libQtXmlPatternsE.la -rw-r--r-- 3 lb lb 833 Sep 27 12:06 libQtXmlPatternsE.prl lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtXmlPatternsE.so -> libQtXmlPatternsE.so.4.8.6* lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtXmlPatternsE.so.4 -> libQtXmlPatternsE.so.4.8.6* lrwxrwxrwx 1 lb lb 26 Sep 27 12:06 libQtXmlPatternsE.so.4.8 -> libQtXmlPatternsE.so.4.8.6* -rwxr-xr-x 3 lb lb 65972428 Dez 14 2015 libQtXmlPatternsE.so.4.8.6* -------------- next part -------------- A non-text attachment was scrubbed... Name: serialport.prf Type: application/pics-rules Size: 844 bytes Desc: not available URL: From tim.iskander at criticallink.com Wed Jan 18 14:04:43 2017 From: tim.iskander at criticallink.com (Tim Iskander) Date: Wed, 18 Jan 2017 08:04:43 -0500 Subject: [Interest] QThreadPool functionality for QThreads (Frank Rueter | OHUfx) Message-ID: instead of re-architecting your threading model, could you just tweak the downloader class to take a list of files and then each one would be synchronous. multiple concurrent downloads would each have a list of 1 file. just a thought... -- Tim Iskander Senior Engineer Critical Link LLC (315) 425-4-45 x271 -------------- next part -------------- An HTML attachment was scrubbed... URL: From chinander at gmail.com Wed Jan 18 15:04:16 2017 From: chinander at gmail.com (Mike Chinander) Date: Wed, 18 Jan 2017 08:04:16 -0600 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <3310351233.20170118100454@programist.ru> References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> <689612922.20170117113904@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> <3310351233.20170118100454@programist.ru> Message-ID: On Wed, Jan 18, 2017 at 1:04 AM, Prav wrote: > > Does anyone know about requirements of using Win10SDK for Qt 5.8.0? Is > Win10SDK is really necessary to build Qt even for Win7 or it is bug in Qt > build system? I compiled Qt 5.8.0 RC on Windows 7 with MSVC2013 and the Windows 8 SDK. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Wed Jan 18 18:16:30 2017 From: bhood2 at comcast.net (Bob Hood) Date: Wed, 18 Jan 2017 10:16:30 -0700 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals Message-ID: I'm trying to develop a unit test for an deferred signal; i.e. one that won't be emitted until the event loop has been allowed to run. The case looks like: void MyTest::user_info_deferred() { QVERIFY(qnam_class_ptr != nullptr); QSignalSpy spy(qnam_class_ptr, &QNAMClass::signal_userInfoReceived); // Retrieve account user information (deferred) QCOMPARE(qname_class_ptr->userInfo(), true); QCOMPARE(spy.count(), 1); // make sure the signal was emitted exactly one time QNAMClassUser info = qvariant_cast(spy.at(0).at(0)); } I have registered the QNAMClassUser data type, both in the header: Q_DECLARE_METATYPE(QNAMClassUser) and in the MyTest::initTestCase() method: qRegisterMetaType(); Everything compiles, and the call to userInfo() that initiates the QNAM request returns true. However, not surprisingly, the signal has not yet been emitted by the time I hit the next statement that tests the result. (This is taken directly from the QSignalSpy example in the documentation, btw). Is QTest capable of testing deferred results--i.e., evaluating tests results after the even loop has run again--or can only synchronous actions be tested? I know people have used qWait() and such in the past, or I supposed I could manually invoke the event loop within the unit test until signals are emitted, but I was wondering if QTest has been designed to handle that in a canonical fashion I'm not immediately seeing. From konrad at silmor.de Wed Jan 18 18:28:13 2017 From: konrad at silmor.de (Konrad Rosenbaum) Date: Wed, 18 Jan 2017 18:28:13 +0100 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals In-Reply-To: References: Message-ID: <2752838.qtV8h3CPvW@konradlnx> Hi, On Wednesday, January 18, 2017 10:16:30 Bob Hood wrote: > I'm trying to develop a unit test for an deferred signal; i.e. one that > won't be emitted until the event loop has been allowed to run. The case > looks like: > > void MyTest::user_info_deferred() > { > QVERIFY(qnam_class_ptr != nullptr); > > QSignalSpy spy(qnam_class_ptr, &QNAMClass::signal_userInfoReceived); > > // Retrieve account user information (deferred) > QCOMPARE(qname_class_ptr->userInfo(), true); I think you need to insert a spy.wait(...) here. Give the event loop a chance to run... > QCOMPARE(spy.count(), 1); // make sure the signal was emitted > exactly one time > QNAMClassUser info = qvariant_cast(spy.at(0).at(0)); > } [cut] Konrad -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: This is a digitally signed message part. URL: From giuseppe.dangelo at kdab.com Wed Jan 18 18:52:01 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Wed, 18 Jan 2017 18:52:01 +0100 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals In-Reply-To: References: Message-ID: Il 18/01/2017 18:16, Bob Hood ha scritto: > Is QTest capable of testing deferred results--i.e., evaluating tests results > after the even loop has run again--or can only synchronous actions be tested? > I know people have used qWait() and such in the past, or I supposed I could > manually invoke the event loop within the unit test until signals are emitted, > but I was wondering if QTest has been designed to handle that in a canonical > fashion I'm not immediately seeing. Just use QTRY_COMPARE instead of QCOMPARE. HTH, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From bhood2 at comcast.net Wed Jan 18 19:09:21 2017 From: bhood2 at comcast.net (Bob Hood) Date: Wed, 18 Jan 2017 11:09:21 -0700 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals In-Reply-To: <2752838.qtV8h3CPvW@konradlnx> References: <2752838.qtV8h3CPvW@konradlnx> Message-ID: <12de77e4-20cb-915e-1220-8e4ed74947d5@comcast.net> On 1/18/2017 10:28 AM, Konrad Rosenbaum wrote: > Hi, > > On Wednesday, January 18, 2017 10:16:30 Bob Hood wrote: >> I'm trying to develop a unit test for an deferred signal; i.e. one that >> won't be emitted until the event loop has been allowed to run. The case >> looks like: >> >> void MyTest::user_info_deferred() >> { >> QVERIFY(qnam_class_ptr != nullptr); >> >> QSignalSpy spy(qnam_class_ptr, &QNAMClass::signal_userInfoReceived); >> >> // Retrieve account user information (deferred) >> QCOMPARE(qname_class_ptr->userInfo(), true); > I think you need to insert a spy.wait(...) here. Give the event loop a chance > to run... Ah, I see. The qWait() approach has probably been folded into QSignalSpy. That makes sense. Thanks, Konrad. From bhood2 at comcast.net Wed Jan 18 19:11:03 2017 From: bhood2 at comcast.net (Bob Hood) Date: Wed, 18 Jan 2017 11:11:03 -0700 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals In-Reply-To: References: Message-ID: On 1/18/2017 10:52 AM, Giuseppe D'Angelo wrote: > Il 18/01/2017 18:16, Bob Hood ha scritto: >> Is QTest capable of testing deferred results--i.e., evaluating tests results >> after the even loop has run again--or can only synchronous actions be tested? >> I know people have used qWait() and such in the past, or I supposed I could >> manually invoke the event loop within the unit test until signals are emitted, >> but I was wondering if QTest has been designed to handle that in a canonical >> fashion I'm not immediately seeing. > Just use QTRY_COMPARE instead of QCOMPARE. Oh, I wasn't aware of that macro. I'll give that a go. Mille grazie, Giuseppe. :) From elvstone at gmail.com Wed Jan 18 20:04:41 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Wed, 18 Jan 2017 20:04:41 +0100 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> References: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> Message-ID: 2017-01-18 8:17 GMT+01:00 Frank Rueter | OHUfx : > Hi Thiago, > > thanks for your quick reply. I will try and give some more context: > I use the python requests module inside my PySide app to post requests to a > website. Some of those requests return a lot of data that I need to parse to > be able to show progress, other requests are file downloads that I need > progress bars for as they stream onto disk. > I had tried to not use threads and use QApplication.processEvents() for each > data chunk downloaded, but that made the download about 4-5 times slower. > Introducing threading made a huge difference. Right, you won't get a good result with that approach. It's always good to be up front with any special circumstances like this (using a networking API that does not run on top of the Qt event loop). > > My app can download a list of files at the same time. Depending on the > situation and the user request, the list of files to be downloaded can > happen asynchronously, in other situations they need to be downloaded one > after the other. I think this is what confused Thiago: What you mean is sequential (as opposed to parallell), not synchronous. If you have one QThread that depends on the completion of another, then no, I don't think there's a convenient API in Qt to express that relationship and run the threads in sequence. You'll have to string them together yourself, or maybe use something else like Threadweaver. I could be wrong of course :) Elvis > >>>All I can tell you is that you don't need to do what you're trying to do, >>> since you don't need threads in the first place. > If I can avoid threads to do the above I would be more than happy to adjust > and get rid of them again, but I haven't managed to find a non-threaded > approach that doesn't slow down the download significantly. > > Cheers, > frank > > > On 18/01/17 6:26 PM, Thiago Macieira wrote: >> >> On quarta-feira, 18 de janeiro de 2017 17:21:46 PST Frank Rueter | OHUfx >> wrote: >>> >>> Hi, >>> >>> I got another threading question for the pros out there: >>> >>> In my current application I am using QThread objects and >>> QObject.moveToThread() to enable my GUI to download multiple files while >>> updating progress bars in the main event loop. This is the respective >> >> As usual, the usual disclaimer: you do not need threads to do networking >> or >> file I/O. The combined overhead of the networking I/O and saving of the >> files is >> unlikely to overwhelm the event loop to the point that the progress bar >> can't >> update smoothly. >> >> I'm not saying impossible, but it's unlikely. >> >>> snippet of code: >>> self.worker = MyClass() >>> self.workerThread = QtCore.QThread() >>> self.worker.moveToThread(self.workerThread) >>> >>> The trouble is when the user wants to download multiple files at once. >>> In my current implementation that all works fine and I see multiple >>> progress bars do there thing. >>> However, there are cases when I need to force the download threads to be >>> synchronous. I had hoped that I can use QThreadPool with QThreads, but >>> turns out I need QRunnables in this case, and those don't have the same >>> signals as QThread. >> >> Why do you need to force them to be synchronous? And synchronous with >> what? >> With each other? Or do you mean sync() in the file saving? >> >> Finally, what does being synchronous have to do with signals? >> >>> So my question is: >>> Is there a good way to use QThreads in a queue which is controlled by >>> the main thread, or should I re-write my code and subclass QRunnable to >>> add the signals I need (i.e. the ones that QThread has by default)? >> >> The whole point of QThread is that the code it runs is independent of >> anything >> else. Only the OS scheduler decides when it's time to run it or suspend >> it. >> >>> In the latter case I guess I'd have to inherit from both QObject and >>> QRunnable, is this ok? >> >> Right. >> >> But we still don't understand what you're trying to do. All I can tell you >> is >> that you don't need to do what you're trying to do, since you don't need >> threads in the first place. >> > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From elvstone at gmail.com Wed Jan 18 20:11:35 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Wed, 18 Jan 2017 20:11:35 +0100 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> Message-ID: 2017-01-18 20:04 GMT+01:00 Elvis Stansvik : > 2017-01-18 8:17 GMT+01:00 Frank Rueter | OHUfx : >> Hi Thiago, >> >> thanks for your quick reply. I will try and give some more context: >> I use the python requests module inside my PySide app to post requests to a >> website. Some of those requests return a lot of data that I need to parse to >> be able to show progress, other requests are file downloads that I need >> progress bars for as they stream onto disk. >> I had tried to not use threads and use QApplication.processEvents() for each >> data chunk downloaded, but that made the download about 4-5 times slower. >> Introducing threading made a huge difference. > > Right, you won't get a good result with that approach. It's always > good to be up front with any special circumstances like this (using a > networking API that does not run on top of the Qt event loop). > >> >> My app can download a list of files at the same time. Depending on the >> situation and the user request, the list of files to be downloaded can >> happen asynchronously, in other situations they need to be downloaded one >> after the other. > > I think this is what confused Thiago: What you mean is sequential (as > opposed to parallell), not synchronous. > > If you have one QThread that depends on the completion of another, > then no, I don't think there's a convenient API in Qt to express that > relationship and run the threads infrom sequence. You'll have to string > them together yourself, or maybe use something else like Threadweaver. > I could be wrong of course :) Another approach is of course to ditch the threading and use the asyncronous QNetworkAccessManager from Qt, instead of using the Python requests module. You can use the downloadProgress/uploadProgress of the QNetworkReply you get from get(..) or post(..) if you want to show progress (haven't used it myself). Elvis > > Elvis > >> >>>>All I can tell you is that you don't need to do what you're trying to do, >>>> since you don't need threads in the first place. >> If I can avoid threads to do the above I would be more than happy to adjust >> and get rid of them again, but I haven't managed to find a non-threaded >> approach that doesn't slow down the download significantly. >> >> Cheers, >> frank >> >> >> On 18/01/17 6:26 PM, Thiago Macieira wrote: >>> >>> On quarta-feira, 18 de janeiro de 2017 17:21:46 PST Frank Rueter | OHUfx >>> wrote: >>>> >>>> Hi, >>>> >>>> I got another threading question for the pros out there: >>>> >>>> In my current application I am using QThread objects and >>>> QObject.moveToThread() to enable my GUI to download multiple files while >>>> updating progress bars in the main event loop. This is the respective >>> >>> As usual, the usual disclaimer: you do not need threads to do networking >>> or >>> file I/O. The combined overhead of the networking I/O and saving of the >>> files is >>> unlikely to overwhelm the event loop to the point that the progress bar >>> can't >>> update smoothly. >>> >>> I'm not saying impossible, but it's unlikely. >>> >>>> snippet of code: >>>> self.worker = MyClass() >>>> self.workerThread = QtCore.QThread() >>>> self.worker.moveToThread(self.workerThread) >>>> >>>> The trouble is when the user wants to download multiple files at once. >>>> In my current implementation that all works fine and I see multiple >>>> progress bars do there thing. >>>> However, there are cases when I need to force the download threads to be >>>> synchronous. I had hoped that I can use QThreadPool with QThreads, but >>>> turns out I need QRunnables in this case, and those don't have the same >>>> signals as QThread. >>> >>> Why do you need to force them to be synchronous? And synchronous with >>> what? >>> With each other? Or do you mean sync() in the file saving? >>> >>> Finally, what does being synchronous have to do with signals? >>> >>>> So my question is: >>>> Is there a good way to use QThreads in a queue which is controlled by >>>> the main thread, or should I re-write my code and subclass QRunnable to >>>> add the signals I need (i.e. the ones that QThread has by default)? >>> >>> The whole point of QThread is that the code it runs is independent of >>> anything >>> else. Only the OS scheduler decides when it's time to run it or suspend >>> it. >>> >>>> In the latter case I guess I'd have to inherit from both QObject and >>>> QRunnable, is this ok? >>> >>> Right. >>> >>> But we still don't understand what you're trying to do. All I can tell you >>> is >>> that you don't need to do what you're trying to do, since you don't need >>> threads in the first place. >>> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest From elvstone at gmail.com Wed Jan 18 20:12:28 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Wed, 18 Jan 2017 20:12:28 +0100 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> Message-ID: 2017-01-18 20:11 GMT+01:00 Elvis Stansvik : > 2017-01-18 20:04 GMT+01:00 Elvis Stansvik : >> 2017-01-18 8:17 GMT+01:00 Frank Rueter | OHUfx : >>> Hi Thiago, >>> >>> thanks for your quick reply. I will try and give some more context: >>> I use the python requests module inside my PySide app to post requests to a >>> website. Some of those requests return a lot of data that I need to parse to >>> be able to show progress, other requests are file downloads that I need >>> progress bars for as they stream onto disk. >>> I had tried to not use threads and use QApplication.processEvents() for each >>> data chunk downloaded, but that made the download about 4-5 times slower. >>> Introducing threading made a huge difference. >> >> Right, you won't get a good result with that approach. It's always >> good to be up front with any special circumstances like this (using a >> networking API that does not run on top of the Qt event loop). >> >>> >>> My app can download a list of files at the same time. Depending on the >>> situation and the user request, the list of files to be downloaded can >>> happen asynchronously, in other situations they need to be downloaded one >>> after the other. >> >> I think this is what confused Thiago: What you mean is sequential (as >> opposed to parallell), not synchronous. >> >> If you have one QThread that depends on the completion of another, >> then no, I don't think there's a convenient API in Qt to express that >> relationship and run the threads infrom sequence. You'll have to string >> them together yourself, or maybe use something else like Threadweaver. >> I could be wrong of course :) > > Another approach is of course to ditch the threading and use the > asyncronous QNetworkAccessManager from Qt, instead of using the Python > requests module. You can use the downloadProgress/uploadProgress of downloadProgress/uploadProgress *signals*. > the QNetworkReply you get from get(..) or post(..) if you want to show > progress (haven't used it myself). > > Elvis > >> >> Elvis >> >>> >>>>>All I can tell you is that you don't need to do what you're trying to do, >>>>> since you don't need threads in the first place. >>> If I can avoid threads to do the above I would be more than happy to adjust >>> and get rid of them again, but I haven't managed to find a non-threaded >>> approach that doesn't slow down the download significantly. >>> >>> Cheers, >>> frank >>> >>> >>> On 18/01/17 6:26 PM, Thiago Macieira wrote: >>>> >>>> On quarta-feira, 18 de janeiro de 2017 17:21:46 PST Frank Rueter | OHUfx >>>> wrote: >>>>> >>>>> Hi, >>>>> >>>>> I got another threading question for the pros out there: >>>>> >>>>> In my current application I am using QThread objects and >>>>> QObject.moveToThread() to enable my GUI to download multiple files while >>>>> updating progress bars in the main event loop. This is the respective >>>> >>>> As usual, the usual disclaimer: you do not need threads to do networking >>>> or >>>> file I/O. The combined overhead of the networking I/O and saving of the >>>> files is >>>> unlikely to overwhelm the event loop to the point that the progress bar >>>> can't >>>> update smoothly. >>>> >>>> I'm not saying impossible, but it's unlikely. >>>> >>>>> snippet of code: >>>>> self.worker = MyClass() >>>>> self.workerThread = QtCore.QThread() >>>>> self.worker.moveToThread(self.workerThread) >>>>> >>>>> The trouble is when the user wants to download multiple files at once. >>>>> In my current implementation that all works fine and I see multiple >>>>> progress bars do there thing. >>>>> However, there are cases when I need to force the download threads to be >>>>> synchronous. I had hoped that I can use QThreadPool with QThreads, but >>>>> turns out I need QRunnables in this case, and those don't have the same >>>>> signals as QThread. >>>> >>>> Why do you need to force them to be synchronous? And synchronous with >>>> what? >>>> With each other? Or do you mean sync() in the file saving? >>>> >>>> Finally, what does being synchronous have to do with signals? >>>> >>>>> So my question is: >>>>> Is there a good way to use QThreads in a queue which is controlled by >>>>> the main thread, or should I re-write my code and subclass QRunnable to >>>>> add the signals I need (i.e. the ones that QThread has by default)? >>>> >>>> The whole point of QThread is that the code it runs is independent of >>>> anything >>>> else. Only the OS scheduler decides when it's time to run it or suspend >>>> it. >>>> >>>>> In the latter case I guess I'd have to inherit from both QObject and >>>>> QRunnable, is this ok? >>>> >>>> Right. >>>> >>>> But we still don't understand what you're trying to do. All I can tell you >>>> is >>>> that you don't need to do what you're trying to do, since you don't need >>>> threads in the first place. >>>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest From frank at ohufx.com Wed Jan 18 21:37:16 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 19 Jan 2017 09:37:16 +1300 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: <5682594.SY3o3Il4Uv@tjmaciei-mobl1> <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> Message-ID: <1e45d9bf-b391-f98b-4719-828391266500@ohufx.com> Thanks Elvis. And my apologies (especially to Thiago) for posting a misleading and incopmlete question. I have been playing with converting to QRunner which seems to work fine (haven't tested it thoroughly though). I will have a look at QNetworkAccessManager so I can compare the approaches, thanks for the tip. Cheers, frank On 19/01/17 8:12 AM, Elvis Stansvik wrote: > 2017-01-18 20:11 GMT+01:00 Elvis Stansvik : >> 2017-01-18 20:04 GMT+01:00 Elvis Stansvik : >>> 2017-01-18 8:17 GMT+01:00 Frank Rueter | OHUfx : >>>> Hi Thiago, >>>> >>>> thanks for your quick reply. I will try and give some more context: >>>> I use the python requests module inside my PySide app to post requests to a >>>> website. Some of those requests return a lot of data that I need to parse to >>>> be able to show progress, other requests are file downloads that I need >>>> progress bars for as they stream onto disk. >>>> I had tried to not use threads and use QApplication.processEvents() for each >>>> data chunk downloaded, but that made the download about 4-5 times slower. >>>> Introducing threading made a huge difference. >>> Right, you won't get a good result with that approach. It's always >>> good to be up front with any special circumstances like this (using a >>> networking API that does not run on top of the Qt event loop). >>> >>>> My app can download a list of files at the same time. Depending on the >>>> situation and the user request, the list of files to be downloaded can >>>> happen asynchronously, in other situations they need to be downloaded one >>>> after the other. >>> I think this is what confused Thiago: What you mean is sequential (as >>> opposed to parallell), not synchronous. >>> >>> If you have one QThread that depends on the completion of another, >>> then no, I don't think there's a convenient API in Qt to express that >>> relationship and run the threads infrom sequence. You'll have to string >>> them together yourself, or maybe use something else like Threadweaver. >>> I could be wrong of course :) >> Another approach is of course to ditch the threading and use the >> asyncronous QNetworkAccessManager from Qt, instead of using the Python >> requests module. You can use the downloadProgress/uploadProgress of > downloadProgress/uploadProgress *signals*. > >> the QNetworkReply you get from get(..) or post(..) if you want to show >> progress (haven't used it myself). >> >> Elvis >> >>> Elvis >>> >>>>>> All I can tell you is that you don't need to do what you're trying to do, >>>>>> since you don't need threads in the first place. >>>> If I can avoid threads to do the above I would be more than happy to adjust >>>> and get rid of them again, but I haven't managed to find a non-threaded >>>> approach that doesn't slow down the download significantly. >>>> >>>> Cheers, >>>> frank >>>> >>>> >>>> On 18/01/17 6:26 PM, Thiago Macieira wrote: >>>>> On quarta-feira, 18 de janeiro de 2017 17:21:46 PST Frank Rueter | OHUfx >>>>> wrote: >>>>>> Hi, >>>>>> >>>>>> I got another threading question for the pros out there: >>>>>> >>>>>> In my current application I am using QThread objects and >>>>>> QObject.moveToThread() to enable my GUI to download multiple files while >>>>>> updating progress bars in the main event loop. This is the respective >>>>> As usual, the usual disclaimer: you do not need threads to do networking >>>>> or >>>>> file I/O. The combined overhead of the networking I/O and saving of the >>>>> files is >>>>> unlikely to overwhelm the event loop to the point that the progress bar >>>>> can't >>>>> update smoothly. >>>>> >>>>> I'm not saying impossible, but it's unlikely. >>>>> >>>>>> snippet of code: >>>>>> self.worker = MyClass() >>>>>> self.workerThread = QtCore.QThread() >>>>>> self.worker.moveToThread(self.workerThread) >>>>>> >>>>>> The trouble is when the user wants to download multiple files at once. >>>>>> In my current implementation that all works fine and I see multiple >>>>>> progress bars do there thing. >>>>>> However, there are cases when I need to force the download threads to be >>>>>> synchronous. I had hoped that I can use QThreadPool with QThreads, but >>>>>> turns out I need QRunnables in this case, and those don't have the same >>>>>> signals as QThread. >>>>> Why do you need to force them to be synchronous? And synchronous with >>>>> what? >>>>> With each other? Or do you mean sync() in the file saving? >>>>> >>>>> Finally, what does being synchronous have to do with signals? >>>>> >>>>>> So my question is: >>>>>> Is there a good way to use QThreads in a queue which is controlled by >>>>>> the main thread, or should I re-write my code and subclass QRunnable to >>>>>> add the signals I need (i.e. the ones that QThread has by default)? >>>>> The whole point of QThread is that the code it runs is independent of >>>>> anything >>>>> else. Only the OS scheduler decides when it's time to run it or suspend >>>>> it. >>>>> >>>>>> In the latter case I guess I'd have to inherit from both QObject and >>>>>> QRunnable, is this ok? >>>>> Right. >>>>> >>>>> But we still don't understand what you're trying to do. All I can tell you >>>>> is >>>>> that you don't need to do what you're trying to do, since you don't need >>>>> threads in the first place. >>>>> >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest From pr12og2 at programist.ru Wed Jan 18 22:20:03 2017 From: pr12og2 at programist.ru (Prav) Date: Thu, 19 Jan 2017 00:20:03 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> <689612922.20170117113904@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> <3310351233.20170118100454@programist.ru> Message-ID: <1556042334.20170119002003@programist.ru> An HTML attachment was scrubbed... URL: From frank at ohufx.com Wed Jan 18 22:20:42 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 19 Jan 2017 10:20:42 +1300 Subject: [Interest] QThreadPool functionality for QThreads (Frank Rueter | OHUfx) In-Reply-To: References: Message-ID: Thanks Tim, yes, that thought had crossed my mind while I was converting to QRunnables. The latter seems to give me the control for what I need in the main controller code without having to adjust the downloader class, so I will see if that behaves through some testing. But it's certainly good advise, thanks. frank On 19/01/17 2:04 AM, Tim Iskander wrote: > instead of re-architecting your threading model, could you just tweak > the downloader class to > take a list of files and then each one would be synchronous. multiple > concurrent downloads would each have a list of 1 file. > just a thought... > > -- > Tim Iskander > Senior Engineer > Critical Link LLC (315) 425-4-45 x271 > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From pr12og2 at programist.ru Wed Jan 18 22:40:22 2017 From: pr12og2 at programist.ru (Prav) Date: Thu, 19 Jan 2017 00:40:22 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1993191.7fzLASxFeG@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> <3310351233.20170118100454@programist.ru> <1993191.7fzLASxFeG@tjmaciei-mobl1> Message-ID: <767802235.20170119004022@programist.ru> Hello, Thiago. > -no-rtti is not tested and clearly someone broke it. I've submitted a change > to remove that option from configure starting with Qt 5.8.1. I was thinking that without RTTI compiled programs became lighter and faster (but never saw values of how much) As I can see Qt tries to be lighter now to be used in embedded systems. You still think that total remove of -no-rtti flag is OK in this case? And why Qt now needs RTTI? Qt 5.7.0 was building fine without RTTI. What features added to 5.8.0 made RTTI mandatory I wonder? > Please delete your build and reconfigure without that option. If you were not > using a shadow build, delete all Makefiles before configuring again. I already did that after you mentioned RTTI first time. And I already shared new error in third message of this mail-thread ) But OK. I can repeat it here again. First error is in : A:\qt\qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) : error C2061: syntax error : identifier 'textureProviders' after that there some more errors in same file (if it matters): qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(545) : error C2446: '!=' : no conversion from 'QSGTextureProvider *&(__cdecl *)(void)' to 'QSGTextureProvider *' There is no context in which this conversion is possible qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(545) : error C2040: '!=' : 'QSGTextureProvider *' differs in levels of indirection from 'QSGTextureProvider *&(__cdecl *)(void)' qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(546) : warning C4551: function call missing argument list qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(548) : error C2665: 'QObject::disconnect' : none of the 5 overloads could convert all the argument types qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(333): could be 'bool QObject::disconnect(const QObject *,const QMetaMethod &,const QObject *,const QMetaMethod &)' qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(331): or 'bool QObject::disconnect(const QObject *,const char *,const QObject *,const char *)' while trying to match the argument list '(QSGTextureProvider *&(__cdecl *)(void), const char *, QSGD3D12ShaderEffectNode *, const char *)' qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(550) : error C2665: 'QObject::disconnect' : none of the 5 overloads could convert all the argument types qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(333): could be 'bool QObject::disconnect(const QObject *,const QMetaMethod &,const QObject *,const QMetaMethod &)' qtbase\include\qtcore\../../src/corelib/kernel/qobject.h(331): or 'bool QObject::disconnect(const QObject *,const char *,const QObject *,const char *)' while trying to match the argument list '(QSGTextureProvider *&(__cdecl *)(void), const char *, QSGD3D12ShaderEffectNode *, const char *)' qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(564) : error C2659: '=' : function as left operand Does anyone had such error before and knows there it comes from? From thiago.macieira at intel.com Thu Jan 19 01:08:48 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 18 Jan 2017 16:08:48 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <767802235.20170119004022@programist.ru> References: <1335452458.20170116190456@programist.ru> <1993191.7fzLASxFeG@tjmaciei-mobl1> <767802235.20170119004022@programist.ru> Message-ID: <1753319.XB1VgXrexd@tjmaciei-mobl1> On quinta-feira, 19 de janeiro de 2017 00:40:22 PST Prav wrote: > Hello, Thiago. > > > -no-rtti is not tested and clearly someone broke it. I've submitted a > > change to remove that option from configure starting with Qt 5.8.1. > > I was thinking that without RTTI compiled programs became lighter and > faster (but never saw values of how much) Yes, the option causes the compiler not to emit the RTTI structures for polymorphic classes. That may save you a bit of read-only, sharable data in the Qt libraries. > As I can see Qt tries to be > lighter now to be used in embedded systems. You still think that total > remove of -no-rtti flag is OK in this case? The option only did anything on Windows, where a couple hundred bytes per library make much of a difference. It would make more sense on embedded systems, but it seems like it wasn't active for them. I don't know why. My guess is that it use to work for Qt for Embedded Linux back in Qt 4 days, but with the conversion to Qt 5 and QPA, the option was lost. And no one complained. > And why Qt now needs RTTI? Qt 5.7.0 was building fine without RTTI. What > features added to 5.8.0 made RTTI mandatory I wonder? Someone added a dynamic_cast. That's all. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Thu Jan 19 01:09:41 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 18 Jan 2017 16:09:41 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1556042334.20170119002003@programist.ru> References: <1335452458.20170116190456@programist.ru> <1556042334.20170119002003@programist.ru> Message-ID: <3021935.rDPsq6Z11W@tjmaciei-mobl1> On quinta-feira, 19 de janeiro de 2017 00:20:03 PST Prav wrote: > So finally : Qt version 5.8.0 can NOT be build under Win7 with Win7SDK!? (It > seems Qt for desktop need some definitions from WinRT ... who know why) Qt 5.8 can be built under Win7, but you should use the Win10SDK. The reason for that is that you want your programs to support Windows 10, regardless of what you use to develop. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Thu Jan 19 01:10:58 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 18 Jan 2017 16:10:58 -0800 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> Message-ID: <2484368.eZS7VkBXQ2@tjmaciei-mobl1> On quarta-feira, 18 de janeiro de 2017 20:04:41 PST Elvis Stansvik wrote: > If you have one QThread that depends on the completion of another, > then no, I don't think there's a convenient API in Qt to express that > relationship and run the threads in sequence. You'll have to string > them together yourself, or maybe use something else like Threadweaver. > I could be wrong of course You can always chain-connect one thread's finished() signal to the other's start() slot. But that's unnecessary overhead: stopping and starting threads. You should do like Elvis says and just reuse the thread. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From frank at ohufx.com Thu Jan 19 01:31:34 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 19 Jan 2017 13:31:34 +1300 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: <2484368.eZS7VkBXQ2@tjmaciei-mobl1> References: <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> <2484368.eZS7VkBXQ2@tjmaciei-mobl1> Message-ID: <202f0c2c-bfb8-0978-f600-715a27d8fb5a@ohufx.com> OK, thanks Thiago and Elvis. I think I got the picture now and can proceed knowing I'm not heading into a dead end. Cheers, frank On 19/01/17 1:10 PM, Thiago Macieira wrote: > On quarta-feira, 18 de janeiro de 2017 20:04:41 PST Elvis Stansvik wrote: >> If you have one QThread that depends on the completion of another, >> then no, I don't think there's a convenient API in Qt to express that >> relationship and run the threads in sequence. You'll have to string >> them together yourself, or maybe use something else like Threadweaver. >> I could be wrong of course > You can always chain-connect one thread's finished() signal to the other's > start() slot. > > But that's unnecessary overhead: stopping and starting threads. You should do > like Elvis says and just reuse the thread. > From apoenitz at t-online.de Thu Jan 19 07:27:55 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Thu, 19 Jan 2017 07:27:55 +0100 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <3021935.rDPsq6Z11W@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <1556042334.20170119002003@programist.ru> <3021935.rDPsq6Z11W@tjmaciei-mobl1> Message-ID: <20170119062755.GB1549@klara.mpi.htwm.de> On Wed, Jan 18, 2017 at 04:09:41PM -0800, Thiago Macieira wrote: > On quinta-feira, 19 de janeiro de 2017 00:20:03 PST Prav wrote: > > So finally : Qt version 5.8.0 can NOT be build under Win7 with Win7SDK!? (It > > seems Qt for desktop need some definitions from WinRT ... who know why) > > Qt 5.8 can be built under Win7, but you should use the Win10SDK. The reason > for that is that you want your programs to support Windows 10, regardless of > what you use to develop. I witness incredible mind-reading abilities. Andre' From elvstone at gmail.com Thu Jan 19 07:55:12 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Thu, 19 Jan 2017 07:55:12 +0100 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: <2484368.eZS7VkBXQ2@tjmaciei-mobl1> References: <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> <2484368.eZS7VkBXQ2@tjmaciei-mobl1> Message-ID: 2017-01-19 1:10 GMT+01:00 Thiago Macieira : > On quarta-feira, 18 de janeiro de 2017 20:04:41 PST Elvis Stansvik wrote: >> If you have one QThread that depends on the completion of another, >> then no, I don't think there's a convenient API in Qt to express that >> relationship and run the threads in sequence. You'll have to string >> them together yourself, or maybe use something else like Threadweaver. >> I could be wrong of course > > You can always chain-connect one thread's finished() signal to the other's > start() slot. Yes sorry, should have been more explicit, that's what I meant with "string them together". Frank, another threading approach in Qt which we haven't mentioned yet is QtConcurrent. I use that myself in an application where I had to load a series of large tomographic volumes using VTK (so blocking I/O). It might not be a good fit for your use case, but thought I should mention it for brevity. Elvis > > But that's unnecessary overhead: stopping and starting threads. You should do > like Elvis says and just reuse the thread. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From frank at ohufx.com Thu Jan 19 08:29:12 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 19 Jan 2017 20:29:12 +1300 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: <9ace4d4e-52c6-3d1c-d1b8-965cc6851f0d@ohufx.com> <2484368.eZS7VkBXQ2@tjmaciei-mobl1> Message-ID: <9f34e368-e013-faec-71d7-0496d126fe8f@ohufx.com> Thanks Elvis, much appreciated! On 19/01/17 7:55 PM, Elvis Stansvik wrote: > 2017-01-19 1:10 GMT+01:00 Thiago Macieira : >> On quarta-feira, 18 de janeiro de 2017 20:04:41 PST Elvis Stansvik wrote: >>> If you have one QThread that depends on the completion of another, >>> then no, I don't think there's a convenient API in Qt to express that >>> relationship and run the threads in sequence. You'll have to string >>> them together yourself, or maybe use something else like Threadweaver. >>> I could be wrong of course >> You can always chain-connect one thread's finished() signal to the other's >> start() slot. > Yes sorry, should have been more explicit, that's what I meant with > "string them together". > > Frank, another threading approach in Qt which we haven't mentioned yet > is QtConcurrent. I use that myself in an application where I had to > load a series of large tomographic volumes using VTK (so blocking > I/O). It might not be a good fit for your use case, but thought I > should mention it for brevity. > > Elvis > >> But that's unnecessary overhead: stopping and starting threads. You should do >> like Elvis says and just reuse the thread. >> >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From etienne.sandre at m4x.org Thu Jan 19 10:17:37 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Thu, 19 Jan 2017 10:17:37 +0100 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: <5422594.l52tY8PVn6@tjmaciei-mobl1> References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <5422594.l52tY8PVn6@tjmaciei-mobl1> Message-ID: Hi, 5.6.2 is not necessarily the best 5.6 option regarding compiling Qt. There is at least a regression between 5.6.1 and 5.6.2 which prevents me building a static Qt with system libpng. https://bugreports.qt.io/browse/QTBUG-57148 It also affects latest 5.7 and 5.8 I'm currently stuck with 5.6.1 as this is the latest version which compiles under windows with system libpng. Latest release do not mean less compilation issues. Cheers 2017-01-16 18:25 GMT+01:00 Thiago Macieira : > On segunda-feira, 16 de janeiro de 2017 04:05:28 PST Ernesto wrote: > > Hello everyone, > > > > Now I´m blocked trying to (statically link) compile Qt statically (I´m > > using Qt 5.5.0) to runs my applications without Qt and others libraries. > > I did the following: > > First of all, please upgrade. You're not using the latest. At the very > least > to 5.6.2, but 5.7.1 or 5.8.0 are fine too. > > > First I went to /C:\Qt\Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++\/ and > > edited /qmake.conf/ > [cut] > > /configure -platform win32-g++ -static –release/ > > You don't need to edit the mkspec. The -static option you passed to > configure > is enough. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From viktor.engelmann at qt.io Thu Jan 19 10:29:08 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Thu, 19 Jan 2017 10:29:08 +0100 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals In-Reply-To: <2752838.qtV8h3CPvW@konradlnx> References: <2752838.qtV8h3CPvW@konradlnx> Message-ID: QSignalSpy::wait has a race condition though. When the signal is emitted from a different thread, it might come before you called .wait and then the wait will time out and return false (so it looks like the signal wasn't emitted). You can store the value of spy.size() and after the wait compare it to the current spy.size(). That is more robust, but when the signal is emitted before you start the .wait, the .wait will still wait for the full timeout time. QTRY_COMPARE terminates as soon as the condition is met, so QTRY_COMPARE(spy.size(), 1) is better, but it uses a timeout of only 5 seconds, which should be enough in most cases, but I have seen cases where a signal came 11 seconds after I caused it to be emitted (due to network and/or system load). I used QTRY_COMPARE_WITH_TIMEOUT instead to set a higher timeout. regards Viktor Am 18.01.2017 um 18:28 schrieb Konrad Rosenbaum: > Hi, > > On Wednesday, January 18, 2017 10:16:30 Bob Hood wrote: >> I'm trying to develop a unit test for an deferred signal; i.e. one that >> won't be emitted until the event loop has been allowed to run. The case >> looks like: >> >> void MyTest::user_info_deferred() >> { >> QVERIFY(qnam_class_ptr != nullptr); >> >> QSignalSpy spy(qnam_class_ptr, &QNAMClass::signal_userInfoReceived); >> >> // Retrieve account user information (deferred) >> QCOMPARE(qname_class_ptr->userInfo(), true); > I think you need to insert a spy.wait(...) here. Give the event loop a chance > to run... > >> QCOMPARE(spy.count(), 1); // make sure the signal was emitted >> exactly one time >> QNAMClassUser info = qvariant_cast(spy.at(0).at(0)); >> } > [cut] > > > Konrad > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: OpenPGP digital signature URL: From pr12og2 at programist.ru Thu Jan 19 14:54:58 2017 From: pr12og2 at programist.ru (Prav) Date: Thu, 19 Jan 2017 16:54:58 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1753319.XB1VgXrexd@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <1993191.7fzLASxFeG@tjmaciei-mobl1> <767802235.20170119004022@programist.ru> <1753319.XB1VgXrexd@tjmaciei-mobl1> Message-ID: <275082195.20170119165458@programist.ru> Hello, Thiago. >> And why Qt now needs RTTI? Qt 5.7.0 was building fine without RTTI. What >> features added to 5.8.0 made RTTI mandatory I wonder? > Someone added a dynamic_cast. That's all. OK. Someone added dynamic_cast somewhere in Qt and whole Qt lost ability to be build without RTTI. And you added patch to remove -no-rtti flag for 5.8.1. I got it. >>So finally : Qt version 5.8.0 can NOT be build under Win7 with Win7SDK!? (It >>seems Qt for desktop need some definitions from WinRT ... who know why) >Qt 5.8 can be built under Win7, but you should use the Win10SDK. The reason >for that is that you want your programs to support Windows 10, regardless of >what you use to develop. OK. Someone added unknown Win10 features to Qt lib unconditionally and now desktop Qt build depends on WinRT SDK and as result Qt can not be build with Win7SDK now. I got this also. I do NOT feel good about how easy and invisibly such fundamental compatibility features are lost in Qt because of very small and probably unimportant changes in Qt code. I can only live with Qt in the way it will be created by Thiago and others Qt's developers. But I still want to be able to build it under windows? I still do not understand why I still have error (even when I use Win10SDK and if I will NOT use -no-rtti): error is in : qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) : error C2061: syntax error : identifier 'textureProviders' What is that and why it can be? How to avoid that error? From jhihn at gmx.com Thu Jan 19 15:55:41 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 19 Jan 2017 15:55:41 +0100 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1335452458.20170116190456@programist.ru> References: <1335452458.20170116190456@programist.ru> Message-ID: I really think Qt needs a compile tool (like the Linux kernel has/had (make menuconfig or xconfig) ) that will also provide telemetry* when a build fails. I *never* have had Qt "just compile" and these days I'm compiling it for at least 3 platforms. Heck even a make clean doesn't complete without errors. *Telemetry: the config, the resolved locations of libs and headers, compiler and compiler version, modules selected for compile and anything else that could help improve the Qt build experience. > Sent: Monday, January 16, 2017 at 11:04 AM > From: Prav > To: "interest at qt-project.org" > Subject: [Interest] Qt 5.8.0 RC build under windows > > I tried to compile 5.8.0 RC just to see how healthy it is under windows with msvc2013 (update 5) compiler. > > As I understand using header and libs of Windows 7 SDK should be OK for building Qt (at least it always was for previous versions). > > But then I build I got errors. First error is in : > qtbase\src\plugins\platforms\windows\Makefile.Debug [.obj\debug\qwindowsservices.obj] Error 2 > and it is : > qtbase\src\plugins\platforms\windows\qwin10helpers.cpp(53) : fatal error C1083: Cannot open include file: 'inspectable.h': No such file or directory > > So it is something about Win10 (from name qwin10helpers.cpp). Who asked for Win10 features? I did not > > So what? We really need Win10 SDK to compile Qt for Win7 or this is mistake in build system? > > > But OK. Let try Win10 SDK instead of Win7 SDK. Compiler will be same msvc2013 (update 5). In that case I get another error. First error is in : > qtdeclarative\src\quick\Makefile.Release [.obj\release\qsgsoftwarepublicnodes.obj] Error 2 > and it is > qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2825: 'T': must be a class or namespace when followed by '::' > A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see reference to function template instantiation 'T qt_dynamic_cast_check(X,T *)' being compiled > with > [ > T=QSGSoftwarePixmapTexture * > , X=QSGTexture * > ] > > And some errors in the same file just after that : > qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2039: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : is not a member of '`global namespace'' > qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2146: syntax error : missing ';' before identifier 'dynamic_cast_will_always_fail_because_rtti_is_disabled' > qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2275: 'T' : illegal use of this type as an expression > qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see declaration of 'T' > qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2065: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : undeclared identifier > qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(104) : see declaration of 'T' > > Does anyone ever had such error in qtdeclarative? Why it happens? > > > I can download > qt-opensource-windows-x86-msvc2013-5.8.0-rc_699.exe > which mean that msvc2013 should be fine to compile Qt. > > > Finally: > 1. I did something wrong? > 2. Why there is need in Win10 SDK (this is feature or bug)? > 3. May be some requirements changed for tools like perl or something else in 5.8.0 version and this is why I can not build the Qt 5.8.0 RC? > > Thanks in advance! > > > > PS > I am building only some modules of Qt (if it matters ... but I belive it does not) : > qtbase > qtdeclarative > qtxmlpatterns > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From aj at elane2k.com Thu Jan 19 18:07:11 2017 From: aj at elane2k.com (=?UTF-8?Q?Adrian_J=c3=a4kel?=) Date: Thu, 19 Jan 2017 18:07:11 +0100 Subject: [Interest] Shadow Build Question Message-ID: When configuring my project for shadow build and setting my build directory to somewhere, i get a warning symbol and message that my build directory has to be on the same level as the source directory. Whats the reasoning behind that? I cannot remember that it ever was a problem to have it somewhere else. Regards, Adrian From william.crocker at analog.com Thu Jan 19 18:28:56 2017 From: william.crocker at analog.com (william.crocker at analog.com) Date: Thu, 19 Jan 2017 12:28:56 -0500 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: References: <1335452458.20170116190456@programist.ru> Message-ID: <5880F758.2020804@analog.com> On 01/19/2017 09:55 AM, Jason H wrote: > I really think Qt needs a compile tool I would vote against that as it would be just another layer to be learned and for which something would eventually go wrong. (Kind of like what the aliens did to our space probe in the first Star Trek movie.) I prefer a well documented procedure using familiar old friends. > (like the Linux kernel has/had (make menuconfig or xconfig) ) that will also provide telemetry* when a build fails. I *never* have had Qt "just compile" and these days I'm compiling it for at least 3 platforms. > > Heck even a make clean doesn't complete without errors. > > *Telemetry: the config, the resolved locations of libs and headers, compiler and compiler version, modules selected for compile and anything else that could help improve the Qt build experience. > > > > >> Sent: Monday, January 16, 2017 at 11:04 AM >> From: Prav >> To: "interest at qt-project.org" >> Subject: [Interest] Qt 5.8.0 RC build under windows >> >> I tried to compile 5.8.0 RC just to see how healthy it is under windows with msvc2013 (update 5) compiler. >> >> As I understand using header and libs of Windows 7 SDK should be OK for building Qt (at least it always was for previous versions). >> >> But then I build I got errors. First error is in : >> qtbase\src\plugins\platforms\windows\Makefile.Debug [.obj\debug\qwindowsservices.obj] Error 2 >> and it is : >> qtbase\src\plugins\platforms\windows\qwin10helpers.cpp(53) : fatal error C1083: Cannot open include file: 'inspectable.h': No such file or directory >> >> So it is something about Win10 (from name qwin10helpers.cpp). Who asked for Win10 features? I did not >> >> So what? We really need Win10 SDK to compile Qt for Win7 or this is mistake in build system? >> >> >> But OK. Let try Win10 SDK instead of Win7 SDK. Compiler will be same msvc2013 (update 5). In that case I get another error. First error is in : >> qtdeclarative\src\quick\Makefile.Release [.obj\release\qsgsoftwarepublicnodes.obj] Error 2 >> and it is >> qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2825: 'T': must be a class or namespace when followed by '::' >> A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see reference to function template instantiation 'T qt_dynamic_cast_check(X,T *)' being compiled >> with >> [ >> T=QSGSoftwarePixmapTexture * >> , X=QSGTexture * >> ] >> >> And some errors in the same file just after that : >> qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2039: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : is not a member of '`global namespace'' >> qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2146: syntax error : missing ';' before identifier 'dynamic_cast_will_always_fail_because_rtti_is_disabled' >> qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2275: 'T' : illegal use of this type as an expression >> qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see declaration of 'T' >> qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2065: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : undeclared identifier >> qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(104) : see declaration of 'T' >> >> Does anyone ever had such error in qtdeclarative? Why it happens? >> >> >> I can download >> qt-opensource-windows-x86-msvc2013-5.8.0-rc_699.exe >> which mean that msvc2013 should be fine to compile Qt. >> >> >> Finally: >> 1. I did something wrong? >> 2. Why there is need in Win10 SDK (this is feature or bug)? >> 3. May be some requirements changed for tools like perl or something else in 5.8.0 version and this is why I can not build the Qt 5.8.0 RC? >> >> Thanks in advance! >> >> >> >> PS >> I am building only some modules of Qt (if it matters ... but I belive it does not) : >> qtbase >> qtdeclarative >> qtxmlpatterns >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > From jhihn at gmx.com Thu Jan 19 22:23:49 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 19 Jan 2017 22:23:49 +0100 Subject: [Interest] Android networking: Won't connect Message-ID: I have apps that work, and I remember having solved this problem before, but it escapes me... I am trying to use QML and XMLHttpRequest and the request foes from 1 to 4, which is CONNECTING to DONE. Nothing hits the server. QT += core qml quick network websockets android { DISTFILES += \ android/AndroidManifest.xml \ android/gradle/wrapper/gradle-wrapper.jar \ android/gradlew \ android/res/values/libs.xml \ android/build.gradle \ android/gradle/wrapper/gradle-wrapper.properties \ android/gradlew.bat OTHER_FILES += android/AndroidManifest.xml ANDROID_EXTRA_LIBS += $$PWD/android/openssl/android-14-1.0.1s-arm/libcrypto.so $$PWD/android/openssl/android-14-1.0.1s-arm/libssl.so ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android } Anyone know what I'm missing? From jhihn at gmx.com Thu Jan 19 22:28:04 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 19 Jan 2017 22:28:04 +0100 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <5880F758.2020804@analog.com> References: <1335452458.20170116190456@programist.ru> , <5880F758.2020804@analog.com> Message-ID: How many platforms are you supporting? None of the platform documentation for mobile is up-to-date. I don't need documentation if I have a tool. Just update the tool because the docs never get updated. > Sent: Thursday, January 19, 2017 at 12:28 PM > From: "william.crocker at analog.com" > To: interest at qt-project.org > Subject: Re: [Interest] Qt 5.8.0 RC build under windows > > On 01/19/2017 09:55 AM, Jason H wrote: > > I really think Qt needs a compile tool > > I would vote against that as it would be just another > layer to be learned and for which something would eventually go wrong. > (Kind of like what the aliens did to our space probe > in the first Star Trek movie.) > > I prefer a well documented procedure using > familiar old friends. > From kshegunov at gmail.com Thu Jan 19 23:44:14 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Fri, 20 Jan 2017 00:44:14 +0200 Subject: [Interest] Shadow Build Question In-Reply-To: References: Message-ID: If I recall correctly, it's supposedly a limitation of qmake. But, again if memory serves me, you can safely ignore the warning in most cases (take this with a grain of salt, however). On Thu, Jan 19, 2017 at 7:07 PM, Adrian Jäkel wrote: > When configuring my project for shadow build and setting my build > directory to somewhere, i get a warning symbol and message that my build > directory has to be on the same level as the source directory. Whats the > reasoning behind that? I cannot remember that it ever was a problem to have > it somewhere else. > > Regards, > Adrian > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Thu Jan 19 23:59:31 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 20 Jan 2017 11:59:31 +1300 Subject: [Interest] QThreadPool - global instance or custom one Message-ID: Hi all, I have started using QThreadPool for the first time and am wondering if it's save/recommended to create my own instance of it or to always use the global instance? I.e. the docs all tend to refer to the global instance but they don't say anything about creating your own. Are there any pros and cons? In my case my app will run inside a host application, so my gut feeling says to create my own thread pool so I don't accidentally hijack the host application's pool, but I may be wrong?! Any insight on this? Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ohufxLogo_50x50.png Type: image/png Size: 2666 bytes Desc: not available URL: From bhood2 at comcast.net Fri Jan 20 01:08:53 2017 From: bhood2 at comcast.net (Bob Hood) Date: Thu, 19 Jan 2017 17:08:53 -0700 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: References: Message-ID: On 1/12/2017 6:23 AM, Ernesto wrote: > > Hello to everyone, > > My name is Ernesto. I am a beginner in Qt programming and I have an > specifics problems whit my first big project (desktop app). Let me explain > myself: > > I have to include plugins or add-ons to my application for new file format > types.... > Ernesto, I don't know if you finally solved your issues, but I've just posted the project I have been working on which uses Qt plug-ins in the ways I previously described: http://github.com/b0bh00d/Newsroom This should give you a good example of a working Qt application that uses plug-ins to extend its functionality.Sorry I wasn't able to reference it earlier. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bhood2 at comcast.net Fri Jan 20 01:32:10 2017 From: bhood2 at comcast.net (Bob Hood) Date: Thu, 19 Jan 2017 17:32:10 -0700 Subject: [Interest] QTest + QSignalSpy doesn't seem to work with deferred signals In-Reply-To: References: <2752838.qtV8h3CPvW@konradlnx> Message-ID: <7aed7e4c-c14c-fdb2-fc49-20df0145e54b@comcast.net> On 1/19/2017 2:29 AM, Viktor Engelmann wrote: > > QSignalSpy::wait has a race condition though. When the signal is emitted > from a different thread, it might come before you called .wait and then the > wait will time out and return false (so it looks like the signal wasn't > emitted). You can store the value of spy.size() and after the wait compare > it to the current spy.size(). That is more robust, but when the signal is > emitted before you start the .wait, the .wait will still wait for the full > timeout time. > > QTRY_COMPARE terminates as soon as the condition is met, so > QTRY_COMPARE(spy.size(), 1) is better, but it uses a timeout of only 5 > seconds, which should be enough in most cases, but I have seen cases where a > signal came 11 seconds after I caused it to be emitted (due to network > and/or system load). I used QTRY_COMPARE_WITH_TIMEOUT instead to set a > higher timeout. > Thanks for the info, Viktor. :) From thiago.macieira at intel.com Fri Jan 20 03:08:31 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 19 Jan 2017 18:08:31 -0800 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: References: <2484368.eZS7VkBXQ2@tjmaciei-mobl1> Message-ID: <2126010.WXT8p0vQfs@tjmaciei-mobl1> On quinta-feira, 19 de janeiro de 2017 07:55:12 PST Elvis Stansvik wrote: > Frank, another threading approach in Qt which we haven't mentioned yet > is QtConcurrent. I use that myself in an application where I had to > load a series of large tomographic volumes using VTK (so blocking > I/O). It might not be a good fit for your use case, but thought I > should mention it for brevity. Or you can use Thread Building Blocks too. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Jan 20 03:11:21 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 19 Jan 2017 18:11:21 -0800 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <5422594.l52tY8PVn6@tjmaciei-mobl1> Message-ID: <1685287.bnkbUarmsC@tjmaciei-mobl1> On quinta-feira, 19 de janeiro de 2017 10:17:37 PST Etienne Sandré-Chardonnal wrote: > Hi, > > 5.6.2 is not necessarily the best 5.6 option regarding compiling Qt. There > is at least a regression between 5.6.1 and 5.6.2 which prevents me building > a static Qt with system libpng. > > https://bugreports.qt.io/browse/QTBUG-57148 The problem is not a static Qt, but the static libpng. We never test that, so if you want to see that fixed, you'll need to supply the fix yourself. I can also confidently say you're the first person I've ever seen trying to use a static system libpng. Not to mention doing that on Windows. > I'm currently stuck with 5.6.1 as this is the latest version which compiles > under windows with system libpng. Latest release do not mean less > compilation issues. Indeed, but Ernesto may not have your problem. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Jan 20 03:22:06 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 19 Jan 2017 18:22:06 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <275082195.20170119165458@programist.ru> References: <1335452458.20170116190456@programist.ru> <1753319.XB1VgXrexd@tjmaciei-mobl1> <275082195.20170119165458@programist.ru> Message-ID: <1997569.t5LWs0i1EZ@tjmaciei-mobl1> On quinta-feira, 19 de janeiro de 2017 16:54:58 PST Prav wrote: > Hello, Thiago. > > >> And why Qt now needs RTTI? Qt 5.7.0 was building fine without RTTI. What > >> features added to 5.8.0 made RTTI mandatory I wonder? > > > > Someone added a dynamic_cast. That's all. > > OK. Someone added dynamic_cast somewhere in Qt and whole Qt lost ability to > be build without RTTI. And you added patch to remove -no-rtti flag for > 5.8.1. I got it. Yeah, because I had three choices: a) leave it, which meant that you could compile qtbase with -no-rtti, but you'd run into a compiler error later if you tried to compile qtdeclarative b) remove the option, so that no one can get a compiler error c) remove the dynamic_cast by adding our own hand-rolled RTTI to detect whether the object in question was of the class that the code wanted (c) was too much work, (a) didn't look nice. > >>So finally : Qt version 5.8.0 can NOT be build under Win7 with Win7SDK!? > >>(It seems Qt for desktop need some definitions from WinRT ... who know > >>why)> > >Qt 5.8 can be built under Win7, but you should use the Win10SDK. The reason > >for that is that you want your programs to support Windows 10, regardless > >of what you use to develop. > > OK. Someone added unknown Win10 features to Qt lib unconditionally and now > desktop Qt build depends on WinRT SDK and as result Qt can not be build > with Win7SDK now. > I got this also. Nope. It doesn't depend on the WinRT SDK. It depends on the Windows (desktop) 8 SDK. Requiring you to have the latest SDK is an acceptable compromise. > I do NOT feel good about how easy and invisibly such fundamental > compatibility features are lost in Qt because of very small and probably > unimportant changes in Qt code. I can only live with Qt in the way it will > be created by Thiago and others Qt's developers. Explain to me why you want your applications, when run on Windows 10, *not* to have the best functionality. Note that it will still run on Windows 7 and 8.1, with the same binary. If you give me a good enough reason, I will consider applying a fix myself. > But I still want to be able to build it under windows? I still do not > understand why I still have error (even when I use Win10SDK and if I will > NOT use -no-rtti): error is in : > qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug > [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : > qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) > : error C2061: syntax error : identifier 'textureProviders' > > What is that and why it can be? How to avoid that error? That looks like a genuine problem, but I have no clue what it is about. Please report it against Qt3D. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Jan 20 03:25:22 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 19 Jan 2017 18:25:22 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: References: <1335452458.20170116190456@programist.ru> Message-ID: <5545901.qe1pK5oLRT@tjmaciei-mobl1> On quinta-feira, 19 de janeiro de 2017 15:55:41 PST Jason H wrote: > I really think Qt needs a compile tool (like the Linux kernel has/had (make > menuconfig or xconfig) ) that will also provide telemetry* when a build > fails. I *never* have had Qt "just compile" and these days I'm compiling it > for at least 3 platforms. > > Heck even a make clean doesn't complete without errors. > > *Telemetry: the config, the resolved locations of libs and headers, compiler > and compiler version, modules selected for compile and anything else that > could help improve the Qt build experience. That's unacceptable for a lot of privacy-minded people and companies, as it might divulge information that they don't want shared. Not to mention that it's another possible point of failure, for example on build servers without Internet connectivity. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Jan 20 03:26:42 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 19 Jan 2017 18:26:42 -0800 Subject: [Interest] Shadow Build Question In-Reply-To: References: Message-ID: <1597946.3A6PXDF6T6@tjmaciei-mobl1> On sexta-feira, 20 de janeiro de 2017 00:44:14 PST Konstantin Shegunov wrote: > If I recall correctly, it's supposedly a limitation of qmake. But, again if > memory serves me, you can safely ignore the warning in most cases (take > this with a grain of salt, however). Indeed. There's a bug somewhere in the code that deals with making paths relative and we never bothered to investigate & fix. So YMMV. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Jan 20 03:29:35 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 19 Jan 2017 18:29:35 -0800 Subject: [Interest] QThreadPool - global instance or custom one In-Reply-To: References: Message-ID: <2593311.TnuJfjpJWo@tjmaciei-mobl1> On sexta-feira, 20 de janeiro de 2017 11:59:31 PST Frank Rueter | OHUfx wrote: > Hi all, > > I have started using QThreadPool for the first time and am wondering if > it's save/recommended to create my own instance of it or to always use > the global instance? The rule I use is that you should use your own pool if you plan on launching tasks that may block, but it's ok to use the global one if you need to run things that run as fast as they can without blocking. QHostInfo uses its own thread pool because it calls a blocking function that is known to sometimes take 30 seconds to return (getaddrinfo). > In my case my app will run inside a host application, so my gut feeling > says to create my own thread pool so I don't accidentally hijack the > host application's pool, but I may be wrong?! You're probably right. QHostInfo's example also matches your thinking: Qt's behind-the-scenes usage should not affect the main application's ability to use the global thread pool. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From ernestoac at icrt.cu Thu Jan 19 21:36:01 2017 From: ernestoac at icrt.cu (Ernesto) Date: Thu, 19 Jan 2017 21:36:01 +0100 Subject: [Interest] Doubt extending my app functions ability In-Reply-To: References: Message-ID: Bob, Thanks to you I achieved my goal, in my last mail about Qt plugins I only had a questions about the diferences of "reinterpret_cas" and "dynamic_cast" which you answered me whit a link of a web page that explain all cast operators of C++. However I will look around your link above and I will comment you about it. Thanks again. Your friend, Ernesto El 20/01/2017 a las 1:08, Bob Hood escribió: > On 1/12/2017 6:23 AM, Ernesto wrote: >> >> Hello to everyone, >> >> My name is Ernesto. I am a beginner in Qt programming and I have an >> specifics problems whit my first big project (desktop app). Let me >> explain myself: >> >> I have to include plugins or add-ons to my application for new file >> format types.... >> > > Ernesto, I don't know if you finally solved your issues, but I've just > posted the project I have been working on which uses Qt plug-ins in > the ways I previously described: > > http://github.com/b0bh00d/Newsroom > > This should give you a good example of a working Qt application that > uses plug-ins to extend its functionality.Sorry I wasn't able to > reference it earlier. > > > > __________ Información de ESET NOD32 Antivirus, versión de la base de > firmas de virus 13498 (20160516) __________ > > ESET NOD32 Antivirus ha comprobado este mensaje. > > http://www.eset.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Fri Jan 20 04:44:41 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 20 Jan 2017 16:44:41 +1300 Subject: [Interest] QThreadPool - global instance or custom one In-Reply-To: <2593311.TnuJfjpJWo@tjmaciei-mobl1> References: <2593311.TnuJfjpJWo@tjmaciei-mobl1> Message-ID: <2460d2c3-f152-7c77-4f72-d9142937d56a@ohufx.com> Great, thanks for the quick reply and confirmation. One more question: Would you create one QThreadPool instance for the entire application or create new instances as you go (from within different modules). Does it matter? Cheers, frank On 20/01/17 3:29 PM, Thiago Macieira wrote: > On sexta-feira, 20 de janeiro de 2017 11:59:31 PST Frank Rueter | OHUfx wrote: >> Hi all, >> >> I have started using QThreadPool for the first time and am wondering if >> it's save/recommended to create my own instance of it or to always use >> the global instance? > The rule I use is that you should use your own pool if you plan on launching > tasks that may block, but it's ok to use the global one if you need to run > things that run as fast as they can without blocking. > > QHostInfo uses its own thread pool because it calls a blocking function that > is known to sometimes take 30 seconds to return (getaddrinfo). > >> In my case my app will run inside a host application, so my gut feeling >> says to create my own thread pool so I don't accidentally hijack the >> host application's pool, but I may be wrong?! > You're probably right. QHostInfo's example also matches your thinking: Qt's > behind-the-scenes usage should not affect the main application's ability to > use the global thread pool. > From carel.combrink at gmail.com Fri Jan 20 06:22:43 2017 From: carel.combrink at gmail.com (Carel Combrink) Date: Fri, 20 Jan 2017 07:22:43 +0200 Subject: [Interest] Shadow Build Question In-Reply-To: <1597946.3A6PXDF6T6@tjmaciei-mobl1> References: <1597946.3A6PXDF6T6@tjmaciei-mobl1> Message-ID: Just my 2c: Never ignore the warning when building QtCreator from source. I've had numerous issues because of this on windows: https://bugreports.qt.io/browse/QTCREATORBUG-14917 Regards On Fri, Jan 20, 2017 at 4:26 AM, Thiago Macieira wrote: > On sexta-feira, 20 de janeiro de 2017 00:44:14 PST Konstantin Shegunov > wrote: > > If I recall correctly, it's supposedly a limitation of qmake. But, again > if > > memory serves me, you can safely ignore the warning in most cases (take > > this with a grain of salt, however). > > Indeed. There's a bug somewhere in the code that deals with making paths > relative and we never bothered to investigate & fix. So YMMV. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gunnar.roth at gmx.de Fri Jan 20 08:57:36 2017 From: gunnar.roth at gmx.de (Gunnar Roth) Date: Fri, 20 Jan 2017 08:57:36 +0100 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1997569.t5LWs0i1EZ@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <1753319.XB1VgXrexd@tjmaciei-mobl1> <275082195.20170119165458@programist.ru>, <1997569.t5LWs0i1EZ@tjmaciei-mobl1> Message-ID: >> qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug >> [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : >> qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) >> : error C2061: syntax error : identifier 'textureProviders' >> >> What is that and why it can be? How to avoid that error? >That looks like a genuine problem, but I have no clue what it is about. Please >report it against Qt3D. Well thats an error on the directx 3d 12.0 scenegraph implementationin qtdeclarative, not Qt3d. I have no problem compiling 5.8.0rc with vs2015 upd3 ( well angle crashes, my latest assumption is use of ltcg ) it brings its own win10 sdk. I am also able to compile with vs2017rc ( using a patch from 5.8). Regards, Gunnar Roth From etienne.sandre at m4x.org Fri Jan 20 09:53:14 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Fri, 20 Jan 2017 09:53:14 +0100 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: <1685287.bnkbUarmsC@tjmaciei-mobl1> References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <5422594.l52tY8PVn6@tjmaciei-mobl1> <1685287.bnkbUarmsC@tjmaciei-mobl1> Message-ID: What do you mean by static "system" libpng? There is dll or static libpng but on Windows there is no such thing as a "system" lib. And linking libpng statically is somewhat common... 2017-01-20 3:11 GMT+01:00 Thiago Macieira : > On quinta-feira, 19 de janeiro de 2017 10:17:37 PST Etienne > Sandré-Chardonnal > wrote: > > Hi, > > > > 5.6.2 is not necessarily the best 5.6 option regarding compiling Qt. > There > > is at least a regression between 5.6.1 and 5.6.2 which prevents me > building > > a static Qt with system libpng. > > > > https://bugreports.qt.io/browse/QTBUG-57148 > > The problem is not a static Qt, but the static libpng. We never test that, > so > if you want to see that fixed, you'll need to supply the fix yourself. > > I can also confidently say you're the first person I've ever seen trying > to use > a static system libpng. Not to mention doing that on Windows. > > > I'm currently stuck with 5.6.1 as this is the latest version which > compiles > > under windows with system libpng. Latest release do not mean less > > compilation issues. > > Indeed, but Ernesto may not have your problem. > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Fri Jan 20 09:58:46 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Fri, 20 Jan 2017 11:58:46 +0300 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <5422594.l52tY8PVn6@tjmaciei-mobl1> <1685287.bnkbUarmsC@tjmaciei-mobl1> Message-ID: <3811381484902726@web3m.yandex.ru> 20.01.2017, 11:53, "Etienne Sandré-Chardonnal" : > What do you mean by static "system" libpng? There is dll or static libpng but on Windows there is no such thing as a "system" lib. "System" means not using bundled copy > > And linking libpng statically is somewhat common... > > 2017-01-20 3:11 GMT+01:00 Thiago Macieira : >> On quinta-feira, 19 de janeiro de 2017 10:17:37 PST Etienne Sandré-Chardonnal >> wrote: >>> Hi, >>> >>> 5.6.2 is not necessarily the best 5.6 option regarding compiling Qt. There >>> is at least a regression between 5.6.1 and 5.6.2 which prevents me building >>> a static Qt with system libpng. >>> >>> https://bugreports.qt.io/browse/QTBUG-57148 >> >> The problem is not a static Qt, but the static libpng. We never test that, so >> if you want to see that fixed, you'll need to supply the fix yourself. >> >> I can also confidently say you're the first person I've ever seen trying to use >> a static system libpng. Not to mention doing that on Windows. >> >>> I'm currently stuck with 5.6.1 as this is the latest version which compiles >>> under windows with system libpng. Latest release do not mean less >>> compilation issues. >> >> Indeed, but Ernesto may not have your problem. >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >>   Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > , > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest --  Regards, Konstantin From etienne.sandre at m4x.org Fri Jan 20 10:36:10 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Fri, 20 Jan 2017 10:36:10 +0100 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: <1685287.bnkbUarmsC@tjmaciei-mobl1> References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <5422594.l52tY8PVn6@tjmaciei-mobl1> <1685287.bnkbUarmsC@tjmaciei-mobl1> Message-ID: I can also confidently say you're the first person I've ever seen trying to > use > a static system libpng. Not to mention doing that on Windows. > I can confidently say I'm not the first person you've ever seen trying that... https://bugreports.qt.io/browse/QTBUG-56163?focusedCommentId=343372&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-343372 -------------- next part -------------- An HTML attachment was scrubbed... URL: From bo at vikingsoft.eu Fri Jan 20 10:36:11 2017 From: bo at vikingsoft.eu (Bo Thorsen) Date: Fri, 20 Jan 2017 10:36:11 +0100 Subject: [Interest] QThreadPool - global instance or custom one In-Reply-To: <2460d2c3-f152-7c77-4f72-d9142937d56a@ohufx.com> References: <2593311.TnuJfjpJWo@tjmaciei-mobl1> <2460d2c3-f152-7c77-4f72-d9142937d56a@ohufx.com> Message-ID: I have exactly the same rule for my coding as Thiago does. And my answer would be the same for this. If one of the models have jobs that could hurt the performance of the other jobs, give it a pool of it's own. If not, you can share. Bo. 2017-01-20 4:44 GMT+01:00 Frank Rueter | OHUfx : > Great, thanks for the quick reply and confirmation. > One more question: Would you create one QThreadPool instance for the > entire application or create new instances as you go (from within different > modules). Does it matter? > > Cheers, > frank > > On 20/01/17 3:29 PM, Thiago Macieira wrote: > >> On sexta-feira, 20 de janeiro de 2017 11:59:31 PST Frank Rueter | OHUfx >> wrote: >> >>> Hi all, >>> >>> I have started using QThreadPool for the first time and am wondering if >>> it's save/recommended to create my own instance of it or to always use >>> the global instance? >>> >> The rule I use is that you should use your own pool if you plan on >> launching >> tasks that may block, but it's ok to use the global one if you need to run >> things that run as fast as they can without blocking. >> >> QHostInfo uses its own thread pool because it calls a blocking function >> that >> is known to sometimes take 30 seconds to return (getaddrinfo). >> >> In my case my app will run inside a host application, so my gut feeling >>> says to create my own thread pool so I don't accidentally hijack the >>> host application's pool, but I may be wrong?! >>> >> You're probably right. QHostInfo's example also matches your thinking: >> Qt's >> behind-the-scenes usage should not affect the main application's ability >> to >> use the global thread pool. >> >> > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From etienne.sandre at m4x.org Fri Jan 20 10:49:06 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Fri, 20 Jan 2017 10:49:06 +0100 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: <1685287.bnkbUarmsC@tjmaciei-mobl1> References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <5422594.l52tY8PVn6@tjmaciei-mobl1> <1685287.bnkbUarmsC@tjmaciei-mobl1> Message-ID: > > https://bugreports.qt.io/browse/QTBUG-57148 > > The problem is not a static Qt, but the static libpng. We never test that, > so > if you want to see that fixed, you'll need to supply the fix yourself. > > And I just checked, I am not using a static libpng, but a DLL version. So in my case 5.6.2 broke -system-libpng , independently of Qt/libpng being static/dynamic Cheers, Etienne -------------- next part -------------- An HTML attachment was scrubbed... URL: From pr12og2 at programist.ru Fri Jan 20 11:37:30 2017 From: pr12og2 at programist.ru (Prav) Date: Fri, 20 Jan 2017 13:37:30 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1997569.t5LWs0i1EZ@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <1753319.XB1VgXrexd@tjmaciei-mobl1> <275082195.20170119165458@programist.ru> <1997569.t5LWs0i1EZ@tjmaciei-mobl1> Message-ID: <211439232.20170120133730@programist.ru> Hello, Thiago. > c) remove the dynamic_cast by adding our own hand-rolled RTTI to detect > whether the object in question was of the class that the code wanted > (c) was too much work Well ... Qt developers should decide about their style of development. If Qt-developers gathered and decided that style is "it is not a bug it is a feature" then I totally support decision to remove -NO-RTTI from the whole Qt because RTTI compiler feature was occasionally used > Explain to me why you want your applications, when run on Windows 10, *not* to > have the best functionality. Note that it will still run on Windows 7 and 8.1, > with the same binary. This is same question as why Qt have -no-feature-xxx flags. For me support of specifics of new major Windows OS release is worth calling it "feature". > If you give me a good enough reason, I will consider applying a fix myself. Who can give you any real reason to call anything a feature or an update? I think you understand that. If there were some publicly known principles what is feature for Qt and what is Qt update then we could decide if some reason is good enough or not. In current situation Qt-lib is now the only option is only to share my vision : using special features of newer major version of Windows looks like "feature" of Qt lib (for me) In discussed case compatibility with SDK from previous windows version was lost. >> qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) >> : error C2061: syntax error : identifier 'textureProviders' >> What is that and why it can be? How to avoid that error? > That looks like a genuine problem, but I have no clue what it is about. Please report it against Qt3D. I am not sure that this is error in code. Most probably I do something wrong. At least somehow Qt company is able to build Qt 5.8.0 RC with vc2013. But it is not clear to me how this problem was avoided. Does anyone knows that? From pr12og2 at programist.ru Fri Jan 20 11:41:15 2017 From: pr12og2 at programist.ru (Prav) Date: Fri, 20 Jan 2017 13:41:15 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: References: <1335452458.20170116190456@programist.ru> <1753319.XB1VgXrexd@tjmaciei-mobl1> <275082195.20170119165458@programist.ru>, <1997569.t5LWs0i1EZ@tjmaciei-mobl1> Message-ID: <185340129.20170120134115@programist.ru> Hello, Gunnar. >>> qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug >>> [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : >>> qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) >>> : error C2061: syntax error : identifier 'textureProviders' >>> >>> What is that and why it can be? How to avoid that error? >>That looks like a genuine problem, but I have no clue what it is about. Please >>report it against Qt3D. > Well thats an error on the directx 3d 12.0 scenegraph > implementationin qtdeclarative, not Qt3d. OK. I still did not get ... if this is error how Qt company managed to build Qt with msvc2013. Qt company used some configure flag which skips compiling of "directx 3d 12.0 scenegraph" implementation in qtdeclarative? What flag is that? > I have no problem compiling 5.8.0rc with vs2015 upd3 ( well angle > crashes, my latest assumption is use of ltcg ) it brings its own win10 sdk. So you are saying that it is possible to compile Qt only with some special version of Win10SDK which goes with vs2015 upd3, right? > I am also able to compile with vs2017rc ( using a patch from 5.8). Mmm ... what patch do you mean? Do you know why compiler version vs2017rc solved the problem for you? From markus.st.wrk at gmail.com Fri Jan 20 11:58:37 2017 From: markus.st.wrk at gmail.com (Markus Steinhilber) Date: Fri, 20 Jan 2017 11:58:37 +0100 Subject: [Interest] Problem transfering bigger data amounts over Websockets on iOS Message-ID: Hi, I currently have a problem with websockets on iOS. I'm using a websocket connection to send commands and files over a network (WiFi) between 2 devices. The server is a Windows CE device with Qt5.3 and the client can be an iPad or Windows PC, using a program compiled with Qt 5.7.1. The files are transfered by breaking them into smaller parts (~20-300KB, depending on the speed of the last part) and sending them as a websocket message. There is a small protocol implemented to coordinate the parts. Especially when transfering bigger files(>200MB) over the network, at some point i always run into a disconnect of the socket with the closeReason "Timeout when reading data from socket." on the Client. The server then gives a normal disconnect without closeReason. My first question is: Is this a normal closeReason for a disconnect in case of a bad WiFi connection or could it be a bug in my software or even in Qt's Websocket implementation? I did force some disconnects by powering off the server device while transfering data and I did not get the same error on the client. I also found the QTBUG-14975 which very much sounds like my issue. The closeReason is set in qwebsocketframe.cpp after a waitForReadyRead(5000). But the main differences are that this bug is only reported as happening on Windows and about every 4-5GB transmitted. In my case it's happening only on iOS and about every 200-300 MB. Since the problem only happens on iOS(iPad and simulator) but not with a Windows PC as client, i am also thinking about, if this could be an OS related problem. Like iOS detecting a Wifi disconnect earlier when a Windows PC maybe waits a bit longer and the connections get better again. Would it be a solution to change the timeout of the waitForReadyRead(5000) in qwebsocketframe.cpp and compile a custom Qt? Is it likely that this will help? Thanks for any help on that topic. I'm investigating this problem for days and don't find any solution. From pr12og2 at programist.ru Fri Jan 20 13:02:19 2017 From: pr12og2 at programist.ru (Prav) Date: Fri, 20 Jan 2017 15:02:19 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <5545901.qe1pK5oLRT@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <5545901.qe1pK5oLRT@tjmaciei-mobl1> Message-ID: <97275415.20170120150219@programist.ru> >> *Telemetry: the config, the resolved locations of libs and headers, compiler >> and compiler version, modules selected for compile and anything else that >> could help improve the Qt build experience. > That's unacceptable for a lot of privacy-minded people and companies, as it > might divulge information that they don't want shared. Not to mention that > it's another possible point of failure, for example on build servers without > Internet connectivity. People ... are you seriously discussing telemetry in Qt build system? We are talking about build system which even does not clearly shows where is build error and why. This build system simply gives over-bloated output of everything. And it does not have real mechanism of informing user about cause of problem. For example ask yourself if you can answer how many warnings happened during build? Does build system allow you to see list of them? Who cares about warnings during Qt-build at all if library was finally build? Is there mechanism to show list of all build errors? Or at least first build error? Then you build many Qt modules can you easily tell how many were build successfully and how many failed? All this questions user should understand by his own efforts. And in most cases this is quite hard if you are not Qt developer. So I am not sure that telemetry is even on horizon of features of Qt build system. Architects of Qt build system was not thinking about providing easy to understand output about how building was done. They implemented Qt build system for themselves - for those who knows Qt build system very well. And this provides far more inconveniences than absence of telemetry. And how someone can suggest to implement telemetry if currently there is simply no mechanism to show list of warnings! There is actually a way to create project for IDE which should build Qt. And IDE should do the job of showing list of warnings and errors. But unfortunately this feature is not working ... I mean that I was never able to build Qt by this way while I was able to build with jom. And who cares that this very helpful feature is not working!? No ... Qt build system is far away from being friendly. Why ... probably because Qt company does not feel that Qt-lib needs help from newcomers and so nobody cares that starting to be Qt developer is hard. Yes, officially Qt company welcome everybody to help develop Qt. But in reality nothing was done to support such initiative of people. This should be solved first. So finally : I think right now developer (at least like me) MOSTLY need to brining to life feature of generating good IDE project from configure step of Qt build. PS As I understand Qt is tested on successful build every day. I think that similar test (that Qt can be build from generated IDE project) is also necessary. PS2 For Windows - IDE is Visual Studio or QtCreator. Do not know what Qt developers use for other OSes PS3 It is strange that I have never met instructions of how Qt-lib can be build from QtCreator. But I expect that all build instruction should explain that way first place! Qt company developed its own IDE. IDE can be used to build any lib or app. Qt is libarary. Sooo ... QtCreator seems to be the best way to build Qt-lib (as this IDE is from same provider as Qt-lib itself) What would also help those who use Qt-lib also become Qt developer and help Qt-lib to evolve. People would continue to work in same environment just by opening Qt-library project in same IDE. Look reasonable? Looks intuitive? Yes! But No. Not in this world. Page http://doc.qt.io/qt-5/windows-building.html does not have any word about "QtCreator" (even nothing about why Qt-lib can not be build with QtCreator) And we are discussing telemetry in Qt build system! :) From jhihn at gmx.com Fri Jan 20 18:33:05 2017 From: jhihn at gmx.com (Jason H) Date: Fri, 20 Jan 2017 18:33:05 +0100 Subject: [Interest] Problem transfering bigger data amounts over Websockets on iOS In-Reply-To: References: Message-ID: What about sending sending ping messages periodically? Is your app being backgrounded? I had a problem with websockets disconnecting on iOS, but not on Android. > Sent: Friday, January 20, 2017 at 5:58 AM > From: "Markus Steinhilber" > To: interest at qt-project.org > Subject: [Interest] Problem transfering bigger data amounts over Websockets on iOS > > Hi, > > I currently have a problem with websockets on iOS. I'm using a > websocket connection to send commands and files over a network (WiFi) > between 2 devices. The server is a Windows CE device with Qt5.3 and > the client can be an iPad or Windows PC, using a program compiled with > Qt 5.7.1. The files are transfered by breaking them into smaller parts > (~20-300KB, depending on the speed of the last part) and sending them > as a websocket message. There is a small protocol implemented to > coordinate the parts. > > Especially when transfering bigger files(>200MB) over the network, at > some point i always run into a disconnect of the socket with the > closeReason "Timeout when reading data from socket." on the Client. > The server then gives a normal disconnect without closeReason. > > My first question is: Is this a normal closeReason for a disconnect in > case of a bad WiFi connection or could it be a bug in my software or > even in Qt's Websocket implementation? I did force some disconnects by > powering off the server device while transfering data and I did not > get the same error on the client. > > I also found the QTBUG-14975 which very much sounds like my issue. The > closeReason is set in qwebsocketframe.cpp after a > waitForReadyRead(5000). But the main differences are that this bug is > only reported as happening on Windows and about every 4-5GB > transmitted. In my case it's happening only on iOS and about every > 200-300 MB. > > Since the problem only happens on iOS(iPad and simulator) but not with > a Windows PC as client, i am also thinking about, if this could be an > OS related problem. Like iOS detecting a Wifi disconnect earlier when > a Windows PC maybe waits a bit longer and the connections get better > again. > > Would it be a solution to change the timeout of the > waitForReadyRead(5000) in qwebsocketframe.cpp and compile a custom Qt? > Is it likely that this will help? > > Thanks for any help on that topic. I'm investigating this problem for > days and don't find any solution. > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From jhihn at gmx.com Fri Jan 20 19:50:25 2017 From: jhihn at gmx.com (Jason H) Date: Fri, 20 Jan 2017 19:50:25 +0100 Subject: [Interest] WebView page content Message-ID: I am using a QML WebView as part of a OAuth process. The "final" page is a JSON document of the user's information. How can I grab that content and JSON.parse() it? From frank at ohufx.com Fri Jan 20 21:49:57 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Sat, 21 Jan 2017 09:49:57 +1300 Subject: [Interest] QThreadPool - global instance or custom one In-Reply-To: References: <2593311.TnuJfjpJWo@tjmaciei-mobl1> <2460d2c3-f152-7c77-4f72-d9142937d56a@ohufx.com> Message-ID: <249cc8b9-b3f4-c9c5-1216-d83726c72987@ohufx.com> Thanks for confirming Bo, I will adjust my code accordingly. On 20/01/17 10:36 PM, Bo Thorsen wrote: > I have exactly the same rule for my coding as Thiago does. And my > answer would be the same for this. If one of the models have jobs that > could hurt the performance of the other jobs, give it a pool of it's > own. If not, you can share. > > Bo. > > 2017-01-20 4:44 GMT+01:00 Frank Rueter | OHUfx >: > > Great, thanks for the quick reply and confirmation. > One more question: Would you create one QThreadPool instance for > the entire application or create new instances as you go (from > within different modules). Does it matter? > > Cheers, > frank > > On 20/01/17 3:29 PM, Thiago Macieira wrote: > > On sexta-feira, 20 de janeiro de 2017 11:59:31 PST Frank > Rueter | OHUfx wrote: > > Hi all, > > I have started using QThreadPool for the first time and am > wondering if > it's save/recommended to create my own instance of it or > to always use > the global instance? > > The rule I use is that you should use your own pool if you > plan on launching > tasks that may block, but it's ok to use the global one if you > need to run > things that run as fast as they can without blocking. > > QHostInfo uses its own thread pool because it calls a blocking > function that > is known to sometimes take 30 seconds to return (getaddrinfo). > > In my case my app will run inside a host application, so > my gut feeling > says to create my own thread pool so I don't accidentally > hijack the > host application's pool, but I may be wrong?! > > You're probably right. QHostInfo's example also matches your > thinking: Qt's > behind-the-scenes usage should not affect the main > application's ability to > use the global thread pool. > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Fri Jan 20 21:53:46 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Sat, 21 Jan 2017 09:53:46 +1300 Subject: [Interest] QThreadPool functionality for QThreads In-Reply-To: <2126010.WXT8p0vQfs@tjmaciei-mobl1> References: <2484368.eZS7VkBXQ2@tjmaciei-mobl1> <2126010.WXT8p0vQfs@tjmaciei-mobl1> Message-ID: <3f9393cc-11a3-df7b-6553-5cee3dc71f48@ohufx.com> QRunnables with QThreadPool seem to work great in my case. I am instantitating my main worker class inside the QRunnable now to be able send signals via that (e.g. runnable.worker.signal.emit()). I tried multiple inheritance to just have one QRunnable class that can emit signals, but that didn't work, e.g.: class MyRunable(QtCore.QObject, QtCore.QRunnable() But I'm happy with my solution now, so thanks everybody for contributing. frank On 20/01/17 3:08 PM, Thiago Macieira wrote: > On quinta-feira, 19 de janeiro de 2017 07:55:12 PST Elvis Stansvik wrote: >> Frank, another threading approach in Qt which we haven't mentioned yet >> is QtConcurrent. I use that myself in an application where I had to >> load a series of large tomographic volumes using VTK (so blocking >> I/O). It might not be a good fit for your use case, but thought I >> should mention it for brevity. > Or you can use Thread Building Blocks too. > From gunnar.roth at gmx.de Fri Jan 20 23:37:10 2017 From: gunnar.roth at gmx.de (Gunnar Roth) Date: Fri, 20 Jan 2017 23:37:10 +0100 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <185340129.20170120134115@programist.ru> References: <1335452458.20170116190456@programist.ru> <1753319.XB1VgXrexd@tjmaciei-mobl1> <275082195.20170119165458@programist.ru> <1997569.t5LWs0i1EZ@tjmaciei-mobl1> <185340129.20170120134115@programist.ru> Message-ID: <59C28046-9D8E-4ABE-9062-2E23480AA4A9@gmx.de> > Am 20.01.2017 um 11:41 schrieb Prav : > > Hello, Gunnar. > > >>>> qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug >>>> [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is : >>>> qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544) >>>> : error C2061: syntax error : identifier 'textureProviders' >>>> >>>> What is that and why it can be? How to avoid that error? > >>> That looks like a genuine problem, but I have no clue what it is about. Please >>> report it against Qt3D. > >> Well thats an error on the directx 3d 12.0 scenegraph >> implementationin qtdeclarative, not Qt3d. > > OK. I still did not get ... if this is error how Qt company managed to build Qt with msvc2013. > Qt company used some configure flag which skips compiling of "directx 3d 12.0 scenegraph" implementation in qtdeclarative? > What flag is that? > Try configure —help or edit new configure.json file. > >> I have no problem compiling 5.8.0rc with vs2015 upd3 ( well angle >> crashes, my latest assumption is use of ltcg ) it brings its own win10 sdk. > So you are saying that it is possible to compile Qt only with some special version of Win10SDK which goes with vs2015 upd3, right? > Well I know it works without hassle. > >> I am also able to compile with vs2017rc ( using a patch from 5.8). > Mmm ... what patch do you mean? Do you know why compiler version vs2017rc solved the problem for you? > Well 5.8.0 is not compilable with 2017 rc, as qalgorithms.h has some incompatibilities with constexpr. Albeit the changes.log says 5.8.0 has initial support for vs2017, it does not compile, so initial support in the qt world does not necessarily mean it compiles ;-) but you can get the file from the 5.8 branch , which will become 5.8.1, there it is fixed. Regas, Gunnar Roth From jjcasmar at gmail.com Sat Jan 21 00:10:18 2017 From: jjcasmar at gmail.com (Juan Jose Casafranca) Date: Sat, 21 Jan 2017 00:10:18 +0100 Subject: [Interest] Qt3D Image2D opengl object Message-ID: Hi everybody, I would like to know if it's possible to use image opengl objects rather than sampler objects in a glsl shader. If it's possible, how would it be created? As far as I see, only Texture objects can be created in the frontend (and I suppose they are translated to samplers in opengl) Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Jan 21 01:08:36 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 20 Jan 2017 16:08:36 -0800 Subject: [Interest] =?utf-8?q?I_can=C2=B4t_compile_Qt_statically_=28stati?= =?utf-8?q?cally_link=29?= In-Reply-To: References: <87ce215a-f5f3-8ea8-10a0-bee025451d88@icrt.cu> <1685287.bnkbUarmsC@tjmaciei-mobl1> Message-ID: <1591297.2nM1QdvPuA@tjmaciei-mobl1> On sexta-feira, 20 de janeiro de 2017 09:53:14 PST Etienne Sandré-Chardonnal wrote: > What do you mean by static "system" libpng? There is dll or static libpng > but on Windows there is no such thing as a "system" lib. What Konstantin said: a static library that isn't the bundled copy. > And linking libpng statically is somewhat common... Not really. If you have a non-bundled library, you usually want it to be a DLL so you can share it between processes. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Sat Jan 21 05:26:33 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 20 Jan 2017 20:26:33 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <211439232.20170120133730@programist.ru> References: <1335452458.20170116190456@programist.ru> <1997569.t5LWs0i1EZ@tjmaciei-mobl1> <211439232.20170120133730@programist.ru> Message-ID: <3488959.qUF1lMA29S@tjmaciei-mobl1> On sexta-feira, 20 de janeiro de 2017 13:37:30 PST Prav wrote: > > Explain to me why you want your applications, when run on Windows 10, > > *not* to have the best functionality. Note that it will still run on > > Windows 7 and 8.1, with the same binary. > > This is same question as why Qt have -no-feature-xxx flags. > For me support of specifics of new major Windows OS release is worth calling > it "feature". You do realise that those flags aren't supported and they may not compile, right? I see commits going past every now and then fixing build failures with those. > > If you give me a good enough reason, I will consider applying a fix > > myself. > > Who can give you any real reason to call anything a feature or an update? I > think you understand that. If there were some publicly known principles > what is feature for Qt and what is Qt update then we could decide if some > reason is good enough or not. The development mailing list is open to all and it has an archive. All the code changes are public too. The wiki is there and contains the coding principles and other information. We're even creating summary documents called QUIPs so you don't have to go search the wiki or the mailing list archives. There's absolutely nothing hidden. Still, you avoided the question. Someone added code to Qt that makes it behave better on Windows 10, without dropping compatibility with Windows 7 and 8.1. You can still build Qt on those OSes too. All you need to do is install the Windows 10 SDK. So why should we disable that? > In current situation Qt-lib is now the only option is only to share my > vision : using special features of newer major version of Windows looks > like "feature" of Qt lib (for me) In discussed case compatibility with SDK > from previous windows version was lost. True. Why should we keep compatibility with older SDKs? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From pr12og2 at programist.ru Sat Jan 21 11:00:28 2017 From: pr12og2 at programist.ru (Prav) Date: Sat, 21 Jan 2017 13:00:28 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <3488959.qUF1lMA29S@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <1997569.t5LWs0i1EZ@tjmaciei-mobl1> <211439232.20170120133730@programist.ru> <3488959.qUF1lMA29S@tjmaciei-mobl1> Message-ID: <114839159.20170121130028@programist.ru> Hello, Thiago. > You do realise that those flags aren't supported and they may not compile, > right? I see commits going past every now and then fixing build failures with > those. Fixing commits goes to any part of Qt. I do not know what to tell. If some part of Qt have many bugs then it probably has not enough tests. Do you know if Qt have tests which checks if -no-feature-xxx flag breaks Qt build? > The development mailing list is open to all and it has an archive. There's absolutely nothing hidden. No. I am not about hiding. I am about subjectiveness. I never seen rules for naming something a feature in Qt. > Still, you avoided the question. No I do not. This is just my stylistics preference. I simply try to avoid to loose compatibility with older version of developer tools for nothing. Some times it plays bad role. This just from my experience. From experience I feels better keep compatibility if this is possible (at least reason of loosing compatibility should be exactly known). If this is some blur idea of "better behaviour" I vote for naming such update to be "feature" (which can be enabled/disabled for those who need it/avoid it). > Why should we keep compatibility with older SDKs? I do not think that problems with developer tools versions bite linux-oriented developers much. So have that in mind if you feels yourself closer to Linux world. For example now Qt can not be build with vc2010. But later vc-compilers can not be run on XP. So now I can not build Qt apps on XP. And I meet a lot of XP machines. Incompatible vc-compiler is not Qt's fault but MS. But as soon as MS has this tendency (push newer version of Windows with every possible way) ... even in developer tools ... I vote for not loosing compatibility with older version of developer tools. I do not know what tricky incompatibilities MS introduce in newer versions of WinSDK. For example I do not understand : if c-compiler is simply a console app with 10's years history of development ... what so important it could need from WinVista so that it CAN NOT be run on older Windows? > So why should we disable that? I ask myself same question differently : why we lost compatibility? >Someone added code to Qt that makes it behave better on Windows 10, without dropping compatibility with Windows 7 and 8.1. We stick to your idea : "Someone added code to Qt that makes it behave better on Windows 10" But what exactly this is about. What "better" behavior for desktop Qt was added? I did not found anything about that in documentation ... and I can not find what become "better" from code. If we will find out eventually that nothing "better" was added to desktop Qt will you fix Win7SDK incompatibility? PS It is also very suspicious for me that desktop app/lib needs to know something about WinRT part of Windows. And you OK with that? From thiago.macieira at intel.com Sat Jan 21 17:24:14 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Jan 2017 08:24:14 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <114839159.20170121130028@programist.ru> References: <1335452458.20170116190456@programist.ru> <3488959.qUF1lMA29S@tjmaciei-mobl1> <114839159.20170121130028@programist.ru> Message-ID: <5182025.0GCdiDISl3@tjmaciei-mobl1> On sábado, 21 de janeiro de 2017 13:00:28 PST Prav wrote: > Hello, Thiago. > > > You do realise that those flags aren't supported and they may not compile, > > right? I see commits going past every now and then fixing build failures > > with those. > > Fixing commits goes to any part of Qt. I do not know what to tell. If some > part of Qt have many bugs then it probably has not enough tests. Do you > know if Qt have tests which checks if -no-feature-xxx flag breaks Qt build? That's different. We have a Continuous Integration system that is supposed to keep any commits that break the Qt build or any unit test from ever reaching the repository. It's tested in many configurations. Then, at release time, we test everything again, and in many other configurations, to make sure it builds for people. At no point in that process do we ever test any -no-feature-xxx flag. There are some people who submit fixes for that when they find an issue. But the Qt Project does not test them or guarantee that they work. > > The development mailing list is open to all and it has an archive. There's > > absolutely nothing hidden. > No. I am not about hiding. I am about subjectiveness. I never seen rules for > naming something a feature in Qt. If it's a new functionality that wasn't there before, it's a new feature. > > Still, you avoided the question. > > No I do not. This is just my stylistics preference. I simply try to avoid to > loose compatibility with older version of developer tools for nothing. Some > times it plays bad role. This just from my experience. From experience I > feels better keep compatibility if this is possible (at least reason of > loosing compatibility should be exactly known). If this is some blur idea > of "better behaviour" I vote for naming such update to be "feature" (which > can be enabled/disabled for those who need it/avoid it). Well, we disagree. Users of macOS are verry familiar with it: Qt requires the very latest Xcode to build and that uses the very latest SDK from Apple. Requiring more from developers is not uncommon. Dropping compatibility with older compilers and older SDKs happens often, though for compilers we often make notice of it. This is the first time I can recall that an SDK has been an issue. > > Why should we keep compatibility with older SDKs? > > I do not think that problems with developer tools versions bite > linux-oriented developers much. Or for Apple platforms, since Apple updates very often. > So have that in mind if you feels yourself > closer to Linux world. For example now Qt can not be build with vc2010. But > later vc-compilers can not be run on XP. So now I can not build Qt apps on > XP. And I meet a lot of XP machines. Incompatible vc-compiler is not Qt's > fault but MS. But as soon as MS has this tendency (push newer version of > Windows with every possible way) ... even in developer tools ... I vote for > not loosing compatibility with older version of developer tools. I do not > know what tricky incompatibilities MS introduce in newer versions of > WinSDK. Qt Project is not a democracy and it has no votes. It's a meritocracy and technical arguments are accepted, discussed and either adopted or dismissed. You can't build Qt on Windows XP because Qt doesn't run on Windows XP. So why would you build something whose native executables you can't launch or debug? We're not talking about cross-compilation here. And, again, requiring something more from developers is not uncommon. We don't often do that for Windows, though. > For example I do not understand : if c-compiler is simply a console app with > 10's years history of development ... what so important it could need from > WinVista so that it CAN NOT be run on older Windows? It's a tiny functionality called "getting the time". It's required so that the event loop knows how much time has elapsed and so it can fire QTimer correctly. Qt uses QueryPerformanceCounter and GetTickCount64, which are only guaranteed to be available in Vista. We used to use GetTickCount, but that has a problem that the counter overflows every 49.7 days, so if you kept your Windows machine running that long, applications would misbehave just because it was running, through no fault of your own. So for Qt 5.7, I removed the old compatibility code that tried to detect at runtime whether you were on Windows Vista and above. Note that the compatibility check, even if a simple check-and-branch code, ran EVERY TIME the event loop tried to get the time. Which is about 1000 times per second... > > So why should we disable that? > > I ask myself same question differently : why we lost compatibility? Because we need some definitions from Windows headers so that we can call Windows 10 functions when the application detects it's running on Windows 10. Anyway, since you turned the question around without answering it, I am reading the answer as "there's no good reason". > >Someone added code to Qt that makes it behave better on Windows 10, without > >dropping compatibility with Windows 7 and 8.1. > We stick to your idea : "Someone added code to Qt that makes it behave > better on Windows 10" But what exactly this is about. What "better" > behavior for desktop Qt was added? I did not found anything about that in > documentation ... and I can not find what become "better" from code. I don't know either. I was not involved. You can read the log for the file in question to find out more. > If we will find out eventually that nothing "better" was added to desktop Qt > will you fix Win7SDK incompatibility? I was not convinced there is a good reason for me to take action. > PS > It is also very suspicious for me that desktop app/lib needs to know > something about WinRT part of Windows. And you OK with that? I don't know where you got that from. All I saw was Windows 10, not WinRT. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From pr12og2 at programist.ru Sat Jan 21 22:10:53 2017 From: pr12og2 at programist.ru (Prav) Date: Sun, 22 Jan 2017 00:10:53 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <5182025.0GCdiDISl3@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <3488959.qUF1lMA29S@tjmaciei-mobl1> <114839159.20170121130028@programist.ru> <5182025.0GCdiDISl3@tjmaciei-mobl1> Message-ID: <16710163563.20170122001053@programist.ru> Hello, Thiago. >> For example I do not understand : if c-compiler is simply a console app with >> 10's years history of development ... what so important it could need from >> WinVista so that it CAN NOT be run on older Windows? > It's a tiny functionality called "getting the time". It's required so that the > event loop knows how much time has elapsed and so it can fire QTimer correctly. You did not get. I told you about vc-compiler. You are explaining about Qt. > Note that the compatibility check, even if a simple check-and-branch code, ran EVERY TIME > the event loop tried to get the time. Which is about 1000 times per second... You really think that execution of "if (boolflag)" 1000 times per second will give visible difference for PC? And you REALLY lost compatibility with XP for the whole Qt just because of that!? >> I ask myself same question differently : why we lost compatibility? > Because we need some definitions from Windows headers so that we can call > Windows 10 functions when the application detects it's running on Windows 10. Which "Windows 10 functions" are necessary? Mike Chinander told that he managed to build Qt 5.8.0 RC with Win8SDK. How Win8SDK can have "Windows 10 functions"? I think you are mistaken here. My opinion : I belive that some function (helpful only for WinRT build of Qt) is tried to be compiled under desktop version of Qt. That is why desktop Qt now need WinRT header files. And that is why Win7SDK compatibility was lost. And that explains why Win8SDK is also possible. (WinRT is absent in Win7 and appeared in Win8) This is what I mean when I am telling you about dependence from WinRT. Discussed header file in inside "winrt" folder of WinSDK. Is such explanation "good reason" for you to restore compatibility with Win7SDK? From rjvbertin at gmail.com Sat Jan 21 22:28:01 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sat, 21 Jan 2017 22:28:01 +0100 Subject: [Interest] AAT and harfbuzz Message-ID: <2182239.8gi4CVhngc@portia.local> Hello, I've been meaning to ask about a warning I started noticing with Qt 5.8: WARNING: On OS X, AAT is supported only with -qt-harfbuzz How should I interpret this exactly? Does it really mean that Qt 5.8 won't be able to use AAT if I link against MacPorts' harfbuzz 1.4.1, presumably because it lacks certain patches? Yet the version included with Qt seems quite a bit less recent... Thanks, R. From thiago.macieira at intel.com Sun Jan 22 07:11:40 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Jan 2017 22:11:40 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <16710163563.20170122001053@programist.ru> References: <1335452458.20170116190456@programist.ru> <5182025.0GCdiDISl3@tjmaciei-mobl1> <16710163563.20170122001053@programist.ru> Message-ID: <4368016.5O1lyzT72S@tjmaciei-mobl1> On domingo, 22 de janeiro de 2017 00:10:53 PST Prav wrote: > Hello, Thiago. > > >> For example I do not understand : if c-compiler is simply a console app > >> with 10's years history of development ... what so important it could > >> need from WinVista so that it CAN NOT be run on older Windows? > > > > It's a tiny functionality called "getting the time". It's required so that > > the event loop knows how much time has elapsed and so it can fire QTimer > > correctly. > > You did not get. I told you about vc-compiler. You are explaining about Qt. Ah, right, I did. But still, Microsoft may be using APIs that aren't available on older versions. Also note that we are not talking about a console app. We are talking about a full development environment suite, including a debugger that supports snapshotting, backtracking and hot-patching code. Microsoft did not ship the compiler separately from the rest of the installation up until 2016. And it's still hard to install it just like that: a minimal install of Visual C++ is 6 GB. And don't forget that the compiler is compiled with that compiler and uses its own libraries. The C++ runtime library may not support older versions. In fact, I know for a fact that it doesn't, because of a tiny functionality called "getting the time". You can easily tell by looking at the C++ headers that it calls QueryPerformanceTimer. > > Note that the compatibility check, even if a simple check-and-branch code, > > ran EVERY TIME the event loop tried to get the time. Which is about 1000 > > times per second... > You really think that execution of "if (boolflag)" 1000 times per second > will give visible difference for PC? And you REALLY lost compatibility with > XP for the whole Qt just because of that!? Yes and yes. And because it simplified the code. And because we wanted to drop XP compatibility anyway. > >> I ask myself same question differently : why we lost compatibility? > > > > Because we need some definitions from Windows headers so that we can call > > Windows 10 functions when the application detects it's running on Windows > > 10. > Which "Windows 10 functions" are necessary? I don't know, I haven't looked at the code in question. > Mike Chinander told that he managed to build Qt 5.8.0 RC with Win8SDK. How > Win8SDK can have "Windows 10 functions"? I think you are mistaken here. I could be. I'm going by your error message, that said "win10functions". > My opinion : > I belive that some function (helpful only for WinRT build of Qt) is tried to > be compiled under desktop version of Qt. That is why desktop Qt now need > WinRT header files. And that is why Win7SDK compatibility was lost. And > that explains why Win8SDK is also possible. (WinRT is absent in Win7 and > appeared in Win8) It's possible. > This is what I mean when I am telling you about dependence from WinRT. > Discussed header file in inside "winrt" folder of WinSDK. Even if you're right, you still haven't given us a good reason to change anything. Why do you want your application to behave poorly if the user upgrades Windows? > Is such explanation "good reason" for you to restore compatibility with > Win7SDK? No. You have not given a good reason why an application should not work the best way it can when run under Windows 8, 8.1 or 10. Please explain why an application should not detect recent versions of Windows and use extra functionality that is there, making it better and/or more integrated with the OS. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From pr12og2 at programist.ru Sun Jan 22 10:58:13 2017 From: pr12og2 at programist.ru (Prav) Date: Sun, 22 Jan 2017 12:58:13 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <4368016.5O1lyzT72S@tjmaciei-mobl1> References: <1335452458.20170116190456@programist.ru> <5182025.0GCdiDISl3@tjmaciei-mobl1> <16710163563.20170122001053@programist.ru> <4368016.5O1lyzT72S@tjmaciei-mobl1> Message-ID: <1212460464.20170122125813@programist.ru> Hello, Thiago. > Please explain why an application should not detect recent versions of Windows > and use extra functionality that is there, making it better and/or more > integrated with the OS. I told you my opinion : what you called "extra functionality" does not exist for desktop Qt and does not make desktop Qt better. Function helpful for WinRT Qt is building in desktop Qt. As the result there is a need in WinRT part of SDK. As result compatibility with Win7SDK was lost (it has no WinRT part). Finally : compatibility with Win7SDK was lost for nothing. I just informed you about that mistake in your understanding. That is ALL I can do for that problem. From pr12og2 at programist.ru Sun Jan 22 11:03:34 2017 From: pr12og2 at programist.ru (Prav) Date: Sun, 22 Jan 2017 13:03:34 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> <689612922.20170117113904@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> <3310351233.20170118100454@programist.ru> Message-ID: <589345396.20170122130334@programist.ru> An HTML attachment was scrubbed... URL: From vladstelmahovsky at gmail.com Sun Jan 22 12:54:28 2017 From: vladstelmahovsky at gmail.com (Vlad Stelmahovsky) Date: Sun, 22 Jan 2017 12:54:28 +0100 Subject: [Interest] Android networking: Won't connect In-Reply-To: References: Message-ID: code sample? On Thu, Jan 19, 2017 at 10:23 PM, Jason H wrote: > I have apps that work, and I remember having solved this problem before, > but it escapes me... > > I am trying to use QML and XMLHttpRequest and the request foes from 1 to > 4, which is CONNECTING to DONE. Nothing hits the server. > > QT += core qml quick network websockets > android { > DISTFILES += \ > android/AndroidManifest.xml \ > android/gradle/wrapper/gradle-wrapper.jar \ > android/gradlew \ > android/res/values/libs.xml \ > android/build.gradle \ > android/gradle/wrapper/gradle-wrapper.properties \ > android/gradlew.bat > OTHER_FILES += android/AndroidManifest.xml > > ANDROID_EXTRA_LIBS += $$PWD/android/openssl/android-14-1.0.1s-arm/libcrypto.so > $$PWD/android/openssl/android-14-1.0.1s-arm/libssl.so > > ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android > } > > Anyone know what I'm missing? > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Best regards, Vlad -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Sun Jan 22 15:44:28 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sun, 22 Jan 2017 15:44:28 +0100 Subject: [Interest] Qt, openssl and redistribution (of binary packages) Message-ID: <17503616.ePIZpBU3cM@bola> Hello, Can anyone on here give an informed break-down of the implications of the incompatibility between the GPL and OpenSSL licenses on redistribution of binary builds of Qt itself, and of dependents, and their severity when Qt is linked to OpenSSL vs. when OpenSSL is loaded at runtime? As an example, MacPorts currently doesn't provide a binary package of Qt Creator because the Qt port is configured with -openssl-linked (i.e. linked to libssl). I find it surprising that Qt itself could be distributed that way in binary form but not a dependent, and would hope that configuring with -openssl-runtime could change that. FWIW, on Mac we could get around that by using SecureTransport, but I think that using OpenSSL has the benefit of allowing security updates even on OS versions Apple dropped. Feedback appreciated! Thanks, René From chinander at gmail.com Sun Jan 22 16:54:44 2017 From: chinander at gmail.com (Mike Chinander) Date: Sun, 22 Jan 2017 09:54:44 -0600 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <589345396.20170122130334@programist.ru> References: <1335452458.20170116190456@programist.ru> <3738972.cDmlriKznL@tjmaciei-mobl1> <689612922.20170117113904@programist.ru> <3323759.jqXmU4xZFZ@tjmaciei-mobl1> <3310351233.20170118100454@programist.ru> <589345396.20170122130334@programist.ru> Message-ID: Nothing special: configure -opengl desktop -no-compile-examples -mp I have 8.0 and 8.1 folders in "C:\Program Files (x86)\Windows Kits", I assume it's using 8.1SDK. The compiler is VS2013 x64. I'm not sure if it's because it's deprecated or my configure flags, but QtDeclarative wasn't built for me. On Sun, Jan 22, 2017 at 4:03 AM, Prav wrote: > Hello, Mike and Everyone. > > > > I compiled Qt 5.8.0 RC on Windows 7 with MSVC2013 and the Windows 8 SDK. Can > you (or anyone) share confgure string which successfully build Qt 5.8.0 RC > (at least QtDeclarative)? Please tell which version of VC compiler and > WinSDK was used. > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sun Jan 22 20:57:13 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 22 Jan 2017 11:57:13 -0800 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1212460464.20170122125813@programist.ru> References: <1335452458.20170116190456@programist.ru> <4368016.5O1lyzT72S@tjmaciei-mobl1> <1212460464.20170122125813@programist.ru> Message-ID: <3738507.rO8VMQEjsi@tjmaciei-mobl1> On domingo, 22 de janeiro de 2017 12:58:13 PST Prav wrote: > Hello, Thiago. > > > Please explain why an application should not detect recent versions of > > Windows and use extra functionality that is there, making it better > > and/or more integrated with the OS. > > I told you my opinion : what you called "extra functionality" does not exist > for desktop Qt and does not make desktop Qt better. Function helpful for > WinRT Qt is building in desktop Qt. As the result there is a need in WinRT > part of SDK. As result compatibility with Win7SDK was lost (it has no WinRT > part). Finally : compatibility with Win7SDK was lost for nothing. I just > informed you about that mistake in your understanding. That is ALL I can do > for that problem. Ok, I have looked at the source code now. The feature is called "detect Windows 10 tablet mode" (see commit d377f14fd5b4fe3ed64392c6b743bac395f9f891) and it is used as part of the Windows look-and-feel integration to determine how to show maximised windows. You may not like it and you may not use it, but a lot of new Windows 10 ultrabooks are convertible and the screen can be detached. In my book, that's a Windows feature. Conclusion: the feature is legitimate. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From cmakshin at gmail.com Mon Jan 23 06:01:02 2017 From: cmakshin at gmail.com (Constantin Makshin) Date: Mon, 23 Jan 2017 08:01:02 +0300 Subject: [Interest] Qt, openssl and redistribution (of binary packages) In-Reply-To: <17503616.ePIZpBU3cM@bola> References: <17503616.ePIZpBU3cM@bola> Message-ID: <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> Hi René. Qt can be redistributed under the terms of LGPL which allows linking against everything so there are no license-related issues in linking Qt and OpenSSL. AFAIK the primary (if not the only one) reason against linking to libraries like OpenSSL is that redistribution of cryptographic software is forbidden in some countries. Loading these libraries at runtime is probably the best solution to this problem because, if we're talking about Qt, most of its functionality, being independent from OpenSSL, remains available to everyone and users who live in those countries and need cryptography have to compile only OpenSSL without [re]building the whole Qt. On 01/22/2017 05:44 PM, René J.V. Bertin wrote: > Hello, > > Can anyone on here give an informed break-down of the implications of the incompatibility between the GPL and OpenSSL licenses on redistribution of binary builds of Qt itself, and of dependents, and their severity when Qt is linked to OpenSSL vs. when OpenSSL is loaded at runtime? > > As an example, MacPorts currently doesn't provide a binary package of Qt Creator because the Qt port is configured with -openssl-linked (i.e. linked to libssl). I find it surprising that Qt itself could be distributed that way in binary form but not a dependent, and would hope that configuring with -openssl-runtime could change that. > > FWIW, on Mac we could get around that by using SecureTransport, but I think that using OpenSSL has the benefit of allowing security updates even on OS versions Apple dropped. > > Feedback appreciated! > > Thanks, > René -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 862 bytes Desc: OpenPGP digital signature URL: From Maurice.Kalinowski at qt.io Mon Jan 23 08:39:27 2017 From: Maurice.Kalinowski at qt.io (Maurice Kalinowski) Date: Mon, 23 Jan 2017 07:39:27 +0000 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: <1212460464.20170122125813@programist.ru> References: <1335452458.20170116190456@programist.ru> <5182025.0GCdiDISl3@tjmaciei-mobl1> <16710163563.20170122001053@programist.ru> <4368016.5O1lyzT72S@tjmaciei-mobl1> <1212460464.20170122125813@programist.ru> Message-ID: > > > Please explain why an application should not detect recent versions of > > Windows and use extra functionality that is there, making it better > > and/or more integrated with the OS. > > I told you my opinion : what you called "extra functionality" does not exist for > desktop Qt and does not make desktop Qt better. > Function helpful for WinRT Qt is building in desktop Qt. As the result there is > a need in WinRT part of SDK. As result compatibility with Win7SDK was lost (it > has no WinRT part). > Finally : compatibility with Win7SDK was lost for nothing. I just informed you > about that mistake in your understanding. That is ALL I can do for that > problem. [Maurice Kalinowski] As Thiago stated the Windows 10 checks are for the tablet mode recognition, which do have an impact on desktop applications on Windows 10 as well. So your statement is invalid. In addition, please do not confuse WinRT and Windows 10 (classic). Above is clearly a desktop feature. For some WinRT APIs there is a desktop compatibility mode, meaning you can use the WinRT API but run a classic desktop applications. Those features are for instance backends for Qt positioning, (partly) Bluetooth, and others. However, when compiling Qt there are config tests verifying your environment is compatible against it. If not (for instance you do not have the correct SDK), those features will be turned off. If this check does not work on your system for whatever reason, please create a bug report, so that it can be properly handled instead of having a discussion where such items get easily lost in the discussion. BR, Maurice From etienne.sandre at m4x.org Mon Jan 23 10:56:28 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Mon, 23 Jan 2017 10:56:28 +0100 Subject: [Interest] Debugging helpers in Ubuntu Message-ID: Hi, I have a fresh & clean Ubuntu 16.04 install which is up to date. With QtCreator, if I enable the debugging helpers and stop on some breakpoints, I get a bunch of "Segmentation fault" dialog boxes opening until the desktop totally freezes. The only way I found to recover was switching to legacy text mode console and kill the desktop... This does not happen at every place in the debugged code, it seems some specific local variables do this. Do you have any idea how to fix this? This is super annoying... I don't even know if this comes from Qt or GDB. Thanks! Etienne -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Jan 23 11:12:07 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Mon, 23 Jan 2017 11:12:07 +0100 Subject: [Interest] Qt, openssl and redistribution (of binary packages) References: <17503616.ePIZpBU3cM@bola> <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> Message-ID: <5224782.E2YoWU2pWd@patux.local> Constantin Makshin wrote: Thank you Constantin, > Qt can be redistributed under the terms of LGPL which allows linking > against everything so there are no license-related issues in linking Qt > and OpenSSL. The MacPorts packaging lists 3 licenses governing Qt5, the LGPL v2 and v3, but also GPL3. Are you saying we shouldn't be listing the GPL3 license and that we can do so without "risk"? Can Qt Creator be redistributed uder the LGPL too? MacPorts has that one down as covered under the GPL3, which does make it incompatible with linking with OpenSSL. > AFAIK the primary (if not the only one) reason against linking to > libraries like OpenSSL is that redistribution of cryptographic software > is forbidden in some countries. Loading these libraries at runtime is You may well be right, because even when built for runtime openssl loading QtNetwork still includes OpenSSL headers during compilation. And I have a hunch that's enough for lawyers on the war path... R. From viktor.engelmann at qt.io Mon Jan 23 11:29:26 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Mon, 23 Jan 2017 11:29:26 +0100 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: References: Message-ID: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> If it has to do with certain variables, then that only makes sense if the "locals and expressions" panel wants to display an object that has been deleted already, so there would be a dangling pointer. Does that happen in your code or Qt code? If Qt, can you tell which methods? regards Viktor Am 23.01.2017 um 10:56 schrieb Etienne Sandré-Chardonnal: > Hi, > > I have a fresh & clean Ubuntu 16.04 install which is up to date. > > With QtCreator, if I enable the debugging helpers and stop on some > breakpoints, I get a bunch of "Segmentation fault" dialog boxes > opening until the desktop totally freezes. The only way I found to > recover was switching to legacy text mode console and kill the desktop... > > This does not happen at every place in the debugged code, it seems > some specific local variables do this. > > Do you have any idea how to fix this? This is super annoying... I > don't even know if this comes from Qt or GDB. > > Thanks! > > Etienne > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -------------- next part -------------- An HTML attachment was scrubbed... URL: From etienne.sandre at m4x.org Mon Jan 23 13:47:41 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Mon, 23 Jan 2017 13:47:41 +0100 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> References: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> Message-ID: Hi Viktor, It happens in my code Etienne 2017-01-23 11:29 GMT+01:00 Viktor Engelmann : > If it has to do with certain variables, then that only makes sense if the > "locals and expressions" panel wants to display an object that has been > deleted already, so there would be a dangling pointer. Does that happen in > your code or Qt code? If Qt, can you tell which methods? > > regards > > Viktor > > Am 23.01.2017 um 10:56 schrieb Etienne Sandré-Chardonnal: > > Hi, > > I have a fresh & clean Ubuntu 16.04 install which is up to date. > > With QtCreator, if I enable the debugging helpers and stop on some > breakpoints, I get a bunch of "Segmentation fault" dialog boxes opening > until the desktop totally freezes. The only way I found to recover was > switching to legacy text mode console and kill the desktop... > > This does not happen at every place in the debugged code, it seems some > specific local variables do this. > > Do you have any idea how to fix this? This is super annoying... I don't > even know if this comes from Qt or GDB. > > Thanks! > > Etienne > > > _______________________________________________ > Interest mailing listInterest at qt-project.orghttp://lists.qt-project.org/mailman/listinfo/interest > > > -- > > Viktor Engelmann > Software Engineer > > The Qt Company GmbH > Rudower Chaussee 13 > D-12489 Berlin > Viktor.Engelmann at qt.io+49 151 26784521 <+49%201512%206784521> > http://qt.io > Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho > Sitz der Gesellschaft: Berlin > Registergericht: Amtsgericht Charlottenburg, HRB 144331 B > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From viktor.engelmann at qt.io Mon Jan 23 13:53:14 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Mon, 23 Jan 2017 13:53:14 +0100 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: References: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> Message-ID: <1a7eb9d6-feab-d19b-5a3a-ab79c36b5035@qt.io> Hi Etienne then I'd first suggest you look for some dangling pointer problem inside your code. I'd run it in valgrind to see if it can tell you more (Qt Creator integrates valgrind via the "Analyze" menu) regards Am 23.01.2017 um 13:47 schrieb Etienne Sandré-Chardonnal: > Hi Viktor, > > It happens in my code > > Etienne > > 2017-01-23 11:29 GMT+01:00 Viktor Engelmann >: > > If it has to do with certain variables, then that only makes sense > if the "locals and expressions" panel wants to display an object > that has been deleted already, so there would be a dangling > pointer. Does that happen in your code or Qt code? If Qt, can you > tell which methods? > > regards > > Viktor > > > Am 23.01.2017 um 10:56 schrieb Etienne Sandré-Chardonnal: >> Hi, >> >> I have a fresh & clean Ubuntu 16.04 install which is up to date. >> >> With QtCreator, if I enable the debugging helpers and stop on >> some breakpoints, I get a bunch of "Segmentation fault" dialog >> boxes opening until the desktop totally freezes. The only way I >> found to recover was switching to legacy text mode console and >> kill the desktop... >> >> This does not happen at every place in the debugged code, it >> seems some specific local variables do this. >> >> Do you have any idea how to fix this? This is super annoying... I >> don't even know if this comes from Qt or GDB. >> >> Thanks! >> >> Etienne >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > -- > > Viktor Engelmann > Software Engineer > > The Qt Company GmbH > Rudower Chaussee 13 > D-12489 Berlin > > Viktor.Engelmann at qt.io > +49 151 26784521 > > http://qt.io > Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho > Sitz der Gesellschaft: Berlin > Registergericht: Amtsgericht Charlottenburg, HRB 144331 B > > _______________________________________________ Interest mailing > list Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -------------- next part -------------- An HTML attachment was scrubbed... URL: From art.istom at yandex.ru Mon Jan 23 14:07:15 2017 From: art.istom at yandex.ru (=?utf-8?B?0JDRgNGC0YPRgCDQmNGB0YLQvtC80LjQvQ==?=) Date: Mon, 23 Jan 2017 18:07:15 +0500 Subject: [Interest] Is Digia's documentation for QML/Qt Quick lerning obsolete? Message-ID: <20170123130715.fol53wnngqozd2ni@localhost> Is this documentation obsolete for latest Qt version? http://ftp.fau.de/qtproject/learning/developerguides/qtquickappdevintro/QtQuickAppDevIntro.pdf http://ftp.fau.de/qtproject/learning/developerguides/qtquickdesktop/QtQuickApplicationGuide4Desktop.pdf Introduction to Application Development with Qt Quick. Release 1.0, 2013 Qt Quick Application Developer Guide for Desktop. Release 1.0, 2013 I like the documentation in this format, long multipages book/pdf, but I'm afraid they are too old for latest Qt version. Am I wrong? Thanks you! From etienne.sandre at m4x.org Mon Jan 23 14:53:39 2017 From: etienne.sandre at m4x.org (=?UTF-8?Q?Etienne_Sandr=C3=A9=2DChardonnal?=) Date: Mon, 23 Jan 2017 14:53:39 +0100 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: <1a7eb9d6-feab-d19b-5a3a-ab79c36b5035@qt.io> References: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> <1a7eb9d6-feab-d19b-5a3a-ab79c36b5035@qt.io> Message-ID: Errh... Isn't it something we could expect from a debugger to work even with bad code? My problem is *not* that gdb is aborting with a "segmentation fault" message. My problem is, QtCreator/GDB opening "segmentation fault" dialogs that stack up indefinitely until the desktop window manager freezes. 2017-01-23 13:53 GMT+01:00 Viktor Engelmann : > Hi Etienne > > then I'd first suggest you look for some dangling pointer problem inside > your code. > I'd run it in valgrind to see if it can tell you more (Qt Creator > integrates valgrind via the "Analyze" menu) > > regards > > > Am 23.01.2017 um 13:47 schrieb Etienne Sandré-Chardonnal: > > Hi Viktor, > > It happens in my code > > Etienne > > 2017-01-23 11:29 GMT+01:00 Viktor Engelmann : > >> If it has to do with certain variables, then that only makes sense if the >> "locals and expressions" panel wants to display an object that has been >> deleted already, so there would be a dangling pointer. Does that happen in >> your code or Qt code? If Qt, can you tell which methods? >> >> regards >> >> Viktor >> >> Am 23.01.2017 um 10:56 schrieb Etienne Sandré-Chardonnal: >> >> Hi, >> >> I have a fresh & clean Ubuntu 16.04 install which is up to date. >> >> With QtCreator, if I enable the debugging helpers and stop on some >> breakpoints, I get a bunch of "Segmentation fault" dialog boxes opening >> until the desktop totally freezes. The only way I found to recover was >> switching to legacy text mode console and kill the desktop... >> >> This does not happen at every place in the debugged code, it seems some >> specific local variables do this. >> >> Do you have any idea how to fix this? This is super annoying... I don't >> even know if this comes from Qt or GDB. >> >> Thanks! >> >> Etienne >> >> >> _______________________________________________ >> Interest mailing listInterest at qt-project.orghttp://lists.qt-project.org/mailman/listinfo/interest >> >> -- >> >> Viktor Engelmann >> Software Engineer >> >> The Qt Company GmbH >> Rudower Chaussee 13 >> D-12489 Berlin >> Viktor.Engelmann at qt.io+49 151 26784521 <+49%201512%206784521> >> http://qt.io >> Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho >> Sitz der Gesellschaft: Berlin >> Registergericht: Amtsgericht Charlottenburg, HRB 144331 B >> >> _______________________________________________ Interest mailing list >> Interest at qt-project.org http://lists.qt-project.org/ma >> ilman/listinfo/interest > > -- > > Viktor Engelmann > Software Engineer > > The Qt Company GmbH > Rudower Chaussee 13 > D-12489 Berlin > Viktor.Engelmann at qt.io+49 151 26784521 <+49%201512%206784521> > http://qt.io > Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho > Sitz der Gesellschaft: Berlin > Registergericht: Amtsgericht Charlottenburg, HRB 144331 B > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Mon Jan 23 17:19:55 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 23 Jan 2017 08:19:55 -0800 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: References: <1a7eb9d6-feab-d19b-5a3a-ab79c36b5035@qt.io> Message-ID: <2184424.lDFZk52tkc@tjmaciei-mobl1> On segunda-feira, 23 de janeiro de 2017 14:53:39 PST Etienne Sandré-Chardonnal wrote: > My problem is, QtCreator/GDB opening "segmentation fault" dialogs that > stack up indefinitely until the desktop window manager freezes. That's a Qt Creator bug. Please report it. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From apoenitz at t-online.de Mon Jan 23 23:16:35 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Mon, 23 Jan 2017 23:16:35 +0100 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: References: Message-ID: <20170123221635.GA1696@klara.mpi.htwm.de> On Mon, Jan 23, 2017 at 10:56:28AM +0100, Etienne Sandré-Chardonnal wrote: > Hi, > > I have a fresh & clean Ubuntu 16.04 install which is up to date. > > With QtCreator, if I enable the debugging helpers and stop on some > breakpoints, I get a bunch of "Segmentation fault" dialog boxes opening > until the desktop totally freezes. The only way I found to recover was > switching to legacy text mode console and kill the desktop... > > This does not happen at every place in the debugged code, it seems some > specific local variables do this. > > Do you have any idea how to fix this? This is super annoying... I don't > even know if this comes from Qt or GDB. My fault. QTCREATORBUG-16971, fixed with change 26331f77, contained in 4.2.1 and master. Andre' From apoenitz at t-online.de Mon Jan 23 23:35:34 2017 From: apoenitz at t-online.de (=?iso-8859-1?Q?Andr=E9_P=F6nitz?=) Date: Mon, 23 Jan 2017 23:35:34 +0100 Subject: [Interest] Debugging helpers in Ubuntu In-Reply-To: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> References: <8029d4df-5b7c-f9b6-8b9a-0b3f8c4890c7@qt.io> Message-ID: <20170123223534.GB1696@klara.mpi.htwm.de> On Mon, Jan 23, 2017 at 11:29:26AM +0100, Viktor Engelmann wrote: > If it has to do with certain variables, then that only makes sense if > the "locals and expressions" panel wants to display an object that has > been deleted already, so there would be a dangling pointer. Does that > happen in your code or Qt code? If Qt, can you tell which methods? It happens(/ed) when during the evaluation of the python code that produces the display data for a (sub-)variable or some "evaluated expression" another segmentation fault was triggered. In general, that is expected and conceptually unavoidable behaviour for uninitialized data (happens typically in C++ debugging before the constructor of some local variable is executed) or for "properly" corrupted data (at any time). There had been safeguards in place to handle those sitation since the beginning, but that had been partially canceled by some generic changes to message box handling. What was left went unnoticed with the default settings for a while, but got more prominent with 4.2[.0] when the QObject guts display was switched on by default. Andre' From hamish at risingsoftware.com Tue Jan 24 00:54:53 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Tue, 24 Jan 2017 10:54:53 +1100 Subject: [Interest] compiling missing sql driver plugins Message-ID: The Qt sources include an SQL driver plugin for Interbase/Firebird which is not included in the binary distributions. Is there a way to compile it without recompiling all of Qt? We've been doing it for a while by going to the source plugin directory and running qmake then compiling, but this has broken on 5.8 due to the new QMAKE_USE referring to library definitions sourced from elsewhere. So I wonder if there is an official way instead. Thanks Hamish From thiago.macieira at intel.com Tue Jan 24 01:09:15 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 23 Jan 2017 16:09:15 -0800 Subject: [Interest] compiling missing sql driver plugins In-Reply-To: References: Message-ID: <5090161.adMibN6u7E@tjmaciei-mobl1> On terça-feira, 24 de janeiro de 2017 10:54:53 PST Hamish Moffatt wrote: > The Qt sources include an SQL driver plugin for Interbase/Firebird which > is not included in the binary distributions. Is there a way to compile > it without recompiling all of Qt? Yes. Download the qtbase source, cd into the dir containing the plugin, qmake && make. You may need to pass some variables to qmake to tell where the headers for those libraries are. > We've been doing it for a while by going to the source plugin directory > and running qmake then compiling, but this has broken on 5.8 due to the > new QMAKE_USE referring to library definitions sourced from elsewhere. > So I wonder if there is an official way instead. Oh... well, that needs to be fixed somehow. Ossi? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From hamish at risingsoftware.com Tue Jan 24 01:14:59 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Tue, 24 Jan 2017 11:14:59 +1100 Subject: [Interest] compiling missing sql driver plugins In-Reply-To: <5090161.adMibN6u7E@tjmaciei-mobl1> References: <5090161.adMibN6u7E@tjmaciei-mobl1> Message-ID: <0426fa4c-7e0a-86af-a279-a428fcd49de7@risingsoftware.com> On 24/01/17 11:09, Thiago Macieira wrote: > On terça-feira, 24 de janeiro de 2017 10:54:53 PST Hamish Moffatt wrote: >> The Qt sources include an SQL driver plugin for Interbase/Firebird which >> is not included in the binary distributions. Is there a way to compile >> it without recompiling all of Qt? > Yes. Download the qtbase source, cd into the dir containing the plugin, qmake > && make. > > You may need to pass some variables to qmake to tell where the headers for > those libraries are. > >> We've been doing it for a while by going to the source plugin directory >> and running qmake then compiling, but this has broken on 5.8 due to the >> new QMAKE_USE referring to library definitions sourced from elsewhere. >> So I wonder if there is an official way instead. > Oh... well, that needs to be fixed somehow. > > Ossi? > Now I've set QMAKE_INCDIR_IBASE, QMAKE_LIBDIR_IBASE and QMAKE_LIBS_IBASE and it's working. This is actually much nicer than the old system. (Discovered those variables via qmake -d.) Hamish From cmakshin at gmail.com Tue Jan 24 07:14:11 2017 From: cmakshin at gmail.com (Constantin Makshin) Date: Tue, 24 Jan 2017 09:14:11 +0300 Subject: [Interest] Qt, openssl and redistribution (of binary packages) In-Reply-To: <5224782.E2YoWU2pWd@patux.local> References: <17503616.ePIZpBU3cM@bola> <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> <5224782.E2YoWU2pWd@patux.local> Message-ID: <80d43201-f43b-b7d3-a058-665539210669@gmail.com> On 01/23/2017 01:12 PM, René J. V. Bertin wrote: > Constantin Makshin wrote: > > Thank you Constantin, > >> Qt can be redistributed under the terms of LGPL which allows linking >> against everything so there are no license-related issues in linking Qt >> and OpenSSL. > > The MacPorts packaging lists 3 licenses governing Qt5, the LGPL v2 and v3, but > also GPL3. Are you saying we shouldn't be listing the GPL3 license and that we > can do so without "risk"? I'm not sure omitting licensing information is a good idea. Instead you may specify that while Qt5 itself can be redistributed under the terms of either GPL3 or LGPL{2|3}, MacPorts package in particular is limited to LGPL (due to OpenSSL). But even that is not necessary if you use OpenSSL libraries provided by the OS (I don't know whether macOS does that) because GPL explicitly allows linking to system libraries without any restrictions. > Can Qt Creator be redistributed uder the LGPL too? MacPorts has that one down as > covered under the GPL3, which does make it incompatible with linking with > OpenSSL. Qt Creator is GPL-only, but that's okay if you use system OpenSSL libraries. I also did "fgrep -R ssl" on a directory with unpacked Qt Creator 4.2.1 sources and didn't find any signs of Qt Creator's [direct] dependency on OpenSSL. >> AFAIK the primary (if not the only one) reason against linking to >> libraries like OpenSSL is that redistribution of cryptographic software >> is forbidden in some countries. Loading these libraries at runtime is > > You may well be right, because even when built for runtime openssl loading > QtNetwork still includes OpenSSL headers during compilation. And I have a hunch > that's enough for lawyers on the war path... > > R. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 862 bytes Desc: OpenPGP digital signature URL: From alervdvcw at gmail.com Tue Jan 24 08:37:22 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 10:37:22 +0300 Subject: [Interest] Can't run Qt application under UWP kit Message-ID: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> Hello, My app is Qt Quick Controls 2 based app. Qt 5.7.1, Windows 10, Visual Studio 2015. Desktop 32bit version works fine. But when I switch to *Qt 5.7.1 for Universal Windows Platform 32bit* kit, it fails to run with the following error: |winrtrunner --device 0--start --stop --install --wait 0--profile appx C:/Work/Source/build-MusicPlayer-Qt_5_7_1_for_Universal_Windows_Platform_32bit-Release/bin/player.exe qt.winrtrunner:Usingthe Appxprofile.qt.winrtrunner:Failedto activate application:0x8027025b"The app didn't start."Errorwhileexecuting the WinRTRunnerTool:Processcrashed| It states here that some dependency is missing. I've checked it using Dependency Walker and it seems that all the required DLLs are in the application's folder. I've also tried to copy just all the files from Qt kit installation into app's dir. My application consists of one main executable and three .DLL files. I've launched windeployqt for the each of them. Tried both debug and release versions. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Maurice.Kalinowski at qt.io Tue Jan 24 08:53:36 2017 From: Maurice.Kalinowski at qt.io (Maurice Kalinowski) Date: Tue, 24 Jan 2017 07:53:36 +0000 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> Message-ID: Hi, Does it work for example applications? Trying that would at show whether it’s the tools or something in your project. Did you also rebuild all your DLLs for UWP and are all your DLLs UWP compatible? The error itself reads a bit like https://bugreports.qt.io/browse/QTBUG-54251 but then again, I fixed that for 5.7.1. However, there might be some information valuable for you as well. Maurice From: Interest [mailto:interest-bounces+maurice.kalinowski=qt.io at qt-project.org] On Behalf Of Alexander Dyagilev Sent: Tuesday, January 24, 2017 8:37 AM To: interest at qt-project.org Subject: [Interest] Can't run Qt application under UWP kit Hello, My app is Qt Quick Controls 2 based app. Qt 5.7.1, Windows 10, Visual Studio 2015. Desktop 32bit version works fine. But when I switch to Qt 5.7.1 for Universal Windows Platform 32bit kit, it fails to run with the following error: winrtrunner --device 0 --start --stop --install --wait 0 --profile appx C:/Work/Source/build-MusicPlayer-Qt_5_7_1_for_Universal_Windows_Platform_32bit-Release/bin/player.exe qt.winrtrunner: Using the Appx profile. qt.winrtrunner: Failed to activate application: 0x8027025b "The app didn't start." Error while executing the WinRT Runner Tool: Process crashed It states here that some dependency is missing. I've checked it using Dependency Walker and it seems that all the required DLLs are in the application's folder. I've also tried to copy just all the files from Qt kit installation into app's dir. My application consists of one main executable and three .DLL files. I've launched windeployqt for the each of them. Tried both debug and release versions. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Tue Jan 24 09:41:21 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 11:41:21 +0300 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> Message-ID: <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> On 1/24/2017 10:53 AM, Maurice Kalinowski wrote: > > Does it work for example applications? Trying that would at show > whether it’s the tools or something in your project. > Yes. Gallery example runs fine. > Did you also rebuild all your DLLs for UWP and are all your DLLs UWP > compatible? > Yes, of course. All these my DLLs are Qt-based DLLs and thus should be UWP compatible. Am I right? > The error itself reads a bit like > https://bugreports.qt.io/browse/QTBUG-54251 but then again, I fixed > that for 5.7.1. However, there might be some information valuable for > you as well. > > Maurice > > *From:*Interest > [mailto:interest-bounces+maurice.kalinowski=qt.io at qt-project.org] *On > Behalf Of *Alexander Dyagilev > *Sent:* Tuesday, January 24, 2017 8:37 AM > *To:* interest at qt-project.org > *Subject:* [Interest] Can't run Qt application under UWP kit > > Hello, > > My app is Qt Quick Controls 2 based app. Qt 5.7.1, Windows 10, Visual > Studio 2015. > > Desktop 32bit version works fine. > > But when I switch to *Qt 5.7.1 for Universal Windows Platform 32bit* > kit, it fails to run with the following error: > > winrtrunner --device 0--start --stop --install --wait 0--profile appx > C:/Work/Source/build-MusicPlayer-Qt_5_7_1_for_Universal_Windows_Platform_32bit-Release/bin/player.exe > qt.winrtrunner:Usingthe Appxprofile. > qt.winrtrunner:Failedto activate application:0x8027025b"The app didn't > start." > Errorwhileexecuting the WinRTRunnerTool:Processcrashed > > It states here > that some > dependency is missing. I've checked it using Dependency Walker and it > seems that all the required DLLs are in the application's folder. I've > also tried to copy just all the files from Qt kit installation into > app's dir. > > My application consists of one main executable and three .DLL files. > I've launched windeployqt for the each of them. Tried both debug and > release versions. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Tue Jan 24 09:53:26 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 11:53:26 +0300 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: I've removed all the code from my project. Left this: #include intmain(intargc,char*argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplicationapp(argc,argv); return0; } Still getting the same error! Of course, all those 3 DLLs are not used anymore so the problem is not in them. Strange problem... On 1/24/2017 11:41 AM, Alexander Dyagilev wrote: > On 1/24/2017 10:53 AM, Maurice Kalinowski wrote: >> >> Does it work for example applications? Trying that would at show >> whether it’s the tools or something in your project. >> > > Yes. Gallery example runs fine. > >> Did you also rebuild all your DLLs for UWP and are all your DLLs UWP >> compatible? >> > > Yes, of course. All these my DLLs are Qt-based DLLs and thus should be > UWP compatible. Am I right? > > > >> The error itself reads a bit like >> https://bugreports.qt.io/browse/QTBUG-54251 but then again, I fixed >> that for 5.7.1. However, there might be some information valuable for >> you as well. >> >> Maurice >> >> *From:*Interest >> [mailto:interest-bounces+maurice.kalinowski=qt.io at qt-project.org] *On >> Behalf Of *Alexander Dyagilev >> *Sent:* Tuesday, January 24, 2017 8:37 AM >> *To:* interest at qt-project.org >> *Subject:* [Interest] Can't run Qt application under UWP kit >> >> Hello, >> >> My app is Qt Quick Controls 2 based app. Qt 5.7.1, Windows 10, Visual >> Studio 2015. >> >> Desktop 32bit version works fine. >> >> But when I switch to *Qt 5.7.1 for Universal Windows Platform 32bit* >> kit, it fails to run with the following error: >> >> winrtrunner --device 0--start --stop --install --wait 0--profile appx >> C:/Work/Source/build-MusicPlayer-Qt_5_7_1_for_Universal_Windows_Platform_32bit-Release/bin/player.exe >> qt.winrtrunner:Usingthe Appxprofile. >> qt.winrtrunner:Failedto activate application:0x8027025b"The app >> didn't start." >> Errorwhileexecuting the WinRTRunnerTool:Processcrashed >> >> It states here >> that >> some dependency is missing. I've checked it using Dependency Walker >> and it seems that all the required DLLs are in the application's >> folder. I've also tried to copy just all the files from Qt kit >> installation into app's dir. >> >> My application consists of one main executable and three .DLL files. >> I've launched windeployqt for the each of them. Tried both debug and >> release versions. >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Maurice.Kalinowski at qt.io Tue Jan 24 09:54:09 2017 From: Maurice.Kalinowski at qt.io (Maurice Kalinowski) Date: Tue, 24 Jan 2017 08:54:09 +0000 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: > > Does it work for example applications? Trying that would at show whether it’s the tools or something in your project. > Yes. Gallery example runs fine. Good to know. > > Did you also rebuild all your DLLs for UWP and are all your DLLs UWP compatible? > Yes, of course. All these my DLLs are Qt-based DLLs and thus should be UWP compatible. Am I right? Well, you still need to also recompile all your DLLs against the UWP build of Qt. Note that there are dependencies being forwarded on Windows, meaning that ie. once you link against a WinRT-build QtCore, you will have different dependencies in your DLL as well. Maurice -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Tue Jan 24 10:03:30 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 12:03:30 +0300 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: As I said in the prev. mail - it's nothing to do with dlls... On 1/24/2017 11:54 AM, Maurice Kalinowski wrote: > > > > Does it work for example applications? Trying that would at show > whether it’s the tools or something in your project. > > > Yes. Gallery example runs fine. > > Good to know. > > > > Did you also rebuild all your DLLs for UWP and are all your DLLs > UWP compatible? > > > Yes, of course. All these my DLLs are Qt-based DLLs and thus should > be UWP compatible. Am I right? > > Well, you still need to also recompile all your DLLs against the UWP > build of Qt. Note that there are dependencies being forwarded on > Windows, meaning that ie. once you link against a WinRT-build QtCore, > you will have different dependencies in your DLL as well. > > Maurice > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Tue Jan 24 10:05:31 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 12:05:31 +0300 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: <44144962-aaa8-ca94-ebc4-7f2a4ff420e7@gmail.com> It also gives me a strange warning when I launch qmake on this empty project: :-1: warning: winrt_manifest_install.path is not defined: install target not created On 1/24/2017 11:53 AM, Alexander Dyagilev wrote: > > I've removed all the code from my project. > > Left this: > > #include > > intmain(intargc,char*argv[]) > { > QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); > QGuiApplicationapp(argc,argv); > return0; > } > > Still getting the same error! Of course, all those 3 DLLs are not used anymore so the problem is not in them. > > > Strange problem... > > > > > On 1/24/2017 11:41 AM, Alexander Dyagilev wrote: >> On 1/24/2017 10:53 AM, Maurice Kalinowski wrote: >>> >>> Does it work for example applications? Trying that would at show >>> whether it’s the tools or something in your project. >>> >> >> Yes. Gallery example runs fine. >> >>> Did you also rebuild all your DLLs for UWP and are all your DLLs UWP >>> compatible? >>> >> >> Yes, of course. All these my DLLs are Qt-based DLLs and thus should >> be UWP compatible. Am I right? >> >> >> >>> The error itself reads a bit like >>> https://bugreports.qt.io/browse/QTBUG-54251 but then again, I fixed >>> that for 5.7.1. However, there might be some information valuable >>> for you as well. >>> >>> Maurice >>> >>> *From:*Interest >>> [mailto:interest-bounces+maurice.kalinowski=qt.io at qt-project.org] >>> *On Behalf Of *Alexander Dyagilev >>> *Sent:* Tuesday, January 24, 2017 8:37 AM >>> *To:* interest at qt-project.org >>> *Subject:* [Interest] Can't run Qt application under UWP kit >>> >>> Hello, >>> >>> My app is Qt Quick Controls 2 based app. Qt 5.7.1, Windows 10, >>> Visual Studio 2015. >>> >>> Desktop 32bit version works fine. >>> >>> But when I switch to *Qt 5.7.1 for Universal Windows Platform 32bit* >>> kit, it fails to run with the following error: >>> >>> winrtrunner --device 0--start --stop --install --wait 0--profile >>> appx >>> C:/Work/Source/build-MusicPlayer-Qt_5_7_1_for_Universal_Windows_Platform_32bit-Release/bin/player.exe >>> qt.winrtrunner:Usingthe Appxprofile. >>> qt.winrtrunner:Failedto activate application:0x8027025b"The app >>> didn't start." >>> Errorwhileexecuting the WinRTRunnerTool:Processcrashed >>> >>> It states here >>> that >>> some dependency is missing. I've checked it using Dependency Walker >>> and it seems that all the required DLLs are in the application's >>> folder. I've also tried to copy just all the files from Qt kit >>> installation into app's dir. >>> >>> My application consists of one main executable and three .DLL files. >>> I've launched windeployqt for the each of them. Tried both debug and >>> release versions. >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Tue Jan 24 10:15:19 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 12:15:19 +0300 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: I found the reason - it's DESTDIR = ../bin in my pro files. Using DESTDIR breaks UWP configuration. Is it a bug? What can be done here as I would like to use DESTDIR? On 1/24/2017 11:54 AM, Maurice Kalinowski wrote: > > > > Does it work for example applications? Trying that would at show > whether it’s the tools or something in your project. > > > Yes. Gallery example runs fine. > > Good to know. > > > > Did you also rebuild all your DLLs for UWP and are all your DLLs > UWP compatible? > > > Yes, of course. All these my DLLs are Qt-based DLLs and thus should > be UWP compatible. Am I right? > > Well, you still need to also recompile all your DLLs against the UWP > build of Qt. Note that there are dependencies being forwarded on > Windows, meaning that ie. once you link against a WinRT-build QtCore, > you will have different dependencies in your DLL as well. > > Maurice > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Maurice.Kalinowski at qt.io Tue Jan 24 10:22:04 2017 From: Maurice.Kalinowski at qt.io (Maurice Kalinowski) Date: Tue, 24 Jan 2017 09:22:04 +0000 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: How does it break? What is broken? Could you please create an item on bugreport, so that we can properly handle this. BR, Maurice From: Alexander Dyagilev [mailto:alervdvcw at gmail.com] Sent: Tuesday, January 24, 2017 10:15 AM To: Maurice Kalinowski ; interest at qt-project.org Subject: Re: [Interest] Can't run Qt application under UWP kit I found the reason - it's DESTDIR = ../bin in my pro files. Using DESTDIR breaks UWP configuration. Is it a bug? What can be done here as I would like to use DESTDIR? On 1/24/2017 11:54 AM, Maurice Kalinowski wrote: > > Does it work for example applications? Trying that would at show whether it’s the tools or something in your project. > Yes. Gallery example runs fine. Good to know. > > Did you also rebuild all your DLLs for UWP and are all your DLLs UWP compatible? > Yes, of course. All these my DLLs are Qt-based DLLs and thus should be UWP compatible. Am I right? Well, you still need to also recompile all your DLLs against the UWP build of Qt. Note that there are dependencies being forwarded on Windows, meaning that ie. once you link against a WinRT-build QtCore, you will have different dependencies in your DLL as well. Maurice -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Tue Jan 24 10:45:39 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Tue, 24 Jan 2017 12:45:39 +0300 Subject: [Interest] Can't run Qt application under UWP kit In-Reply-To: References: <7122f5c7-5b06-b79a-b512-87b9e8edf8d1@gmail.com> <14eae880-c3f1-0893-5adb-1f49501a9cf4@gmail.com> Message-ID: https://bugreports.qt.io/browse/QTCREATORBUG-17622 On 1/24/2017 12:22 PM, Maurice Kalinowski wrote: > > How does it break? What is broken? > > Could you please create an item on bugreport, so that we can properly > handle this. > > BR, > > Maurice > > *From:*Alexander Dyagilev [mailto:alervdvcw at gmail.com] > *Sent:* Tuesday, January 24, 2017 10:15 AM > *To:* Maurice Kalinowski ; > interest at qt-project.org > *Subject:* Re: [Interest] Can't run Qt application under UWP kit > > I found the reason - it's > > DESTDIR = ../bin > > in my pro files. > > Using DESTDIR breaks UWP configuration. > > Is it a bug? What can be done here as I would like to use DESTDIR? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From oswald.buddenhagen at qt.io Tue Jan 24 11:23:15 2017 From: oswald.buddenhagen at qt.io (Oswald Buddenhagen) Date: Tue, 24 Jan 2017 11:23:15 +0100 Subject: [Interest] compiling missing sql driver plugins In-Reply-To: <5090161.adMibN6u7E@tjmaciei-mobl1> References: <5090161.adMibN6u7E@tjmaciei-mobl1> Message-ID: <20170124102315.GB20252@troll08> On Mon, Jan 23, 2017 at 04:09:15PM -0800, Thiago Macieira wrote: > On terça-feira, 24 de janeiro de 2017 10:54:53 PST Hamish Moffatt wrote: > > The Qt sources include an SQL driver plugin for Interbase/Firebird which > > is not included in the binary distributions. Is there a way to compile > > it without recompiling all of Qt? > > Yes. Download the qtbase source, cd into the dir containing the plugin, qmake > && make. > > You may need to pass some variables to qmake to tell where the headers for > those libraries are. > > > We've been doing it for a while by going to the source plugin directory > > and running qmake then compiling, but this has broken on 5.8 due to the > > new QMAKE_USE referring to library definitions sourced from elsewhere. > > So I wonder if there is an official way instead. > > Oh... well, that needs to be fixed somehow. > we didn't modularize the plugins' configuration, because we had no idea how to do it elegantly. i suppose you might get it to work this way: - cd qtbase - qmake -- - cd src/sql - qmake - cd ../plugins/sqldrivers - qmake - make From rjvbertin at gmail.com Tue Jan 24 11:31:49 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Tue, 24 Jan 2017 11:31:49 +0100 Subject: [Interest] Qt, openssl and redistribution (of binary packages) References: <17503616.ePIZpBU3cM@bola> <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> <5224782.E2YoWU2pWd@patux.local> <80d43201-f43b-b7d3-a058-665539210669@gmail.com> Message-ID: <1938509.W9DLevsRlF@patux.local> Constantin Makshin wrote: > I'm not sure omitting licensing information is a good idea. Instead you > may specify that while Qt5 itself can be redistributed under the terms > of either GPL3 or LGPL{2|3}, MacPorts package in particular is limited > to LGPL (due to OpenSSL). But even that is not necessary if you use I'm not exactly sure what the license info provided by MacPorts packages is about, but it's probably a list of all licenses that cover the software provided through the package ("port"). > OpenSSL libraries provided by the OS (I don't know whether macOS does > that) because GPL explicitly allows linking to system libraries without > any restrictions. Yes, they exist, but are only as up-to-date as the latest update Apple shipped, while the OpenSSL copy provided by MacPorts is almost by definition more recent. That means OpenSSL 0.9.8 "64.30.2" vs. 1.0.2j ... The same argument that applies to SecureTransport, which could otherwise be used to solve the whole licensing problem. If QtNetwork is as feature-complete with SecureTransport as with OpenSSL, of course. > Qt Creator is GPL-only, but that's okay if you use system OpenSSL libraries. > I also did "fgrep -R ssl" on a directory with unpacked Qt Creator 4.2.1 > sources and didn't find any signs of Qt Creator's [direct] dependency on > OpenSSL. But are you sure that an indirect dependency (through QtNetwork) is OK?! I've looked into building runtime OpenSSL support using the system OpenSSL headerfiles, but at the least that will lead to feature loss on systems that are still on OpenSSL < 1.0.0 - meaning all versions of Apple's OS. I should look into building the latest version of the Security framework (https://opensource.apple.com/source/Security/Security-57740.31.2/) ... R From drzhbe at gmail.com Tue Jan 24 11:51:24 2017 From: drzhbe at gmail.com (=?UTF-8?B?0KHRgtCw0L3QuNGB0LvQsNCyINCh0LDQu9GM0L3QuNC60L7Qsg==?=) Date: Tue, 24 Jan 2017 10:51:24 +0000 Subject: [Interest] QML lint Message-ID: Hey guys! I want to make a git prepush hook to check qml codestyle. How do you solve this problem? -------------- next part -------------- An HTML attachment was scrubbed... URL: From pr12og2 at programist.ru Tue Jan 24 12:13:40 2017 From: pr12og2 at programist.ru (Prav) Date: Tue, 24 Jan 2017 14:13:40 +0300 Subject: [Interest] Qt 5.8.0 RC build under windows In-Reply-To: References: <1335452458.20170116190456@programist.ru> <5182025.0GCdiDISl3@tjmaciei-mobl1> <16710163563.20170122001053@programist.ru> <4368016.5O1lyzT72S@tjmaciei-mobl1> <1212460464.20170122125813@programist.ru> Message-ID: <1884091421.20170124141340@programist.ru> Hello, Maurice. > However, when compiling Qt there are config tests verifying your > environment is compatible against it. If not (for instance you do > not have the correct SDK), those features will be turned off. That seems very interesting features I never heard of. Can you explain little bit more? Where is the this tests are located and how this tests inform about results? From jerome at bodycad.com Tue Jan 24 14:57:32 2017 From: jerome at bodycad.com (=?UTF-8?B?SsOpcsO0bWUgR29kYm91dA==?=) Date: Tue, 24 Jan 2017 08:57:32 -0500 Subject: [Interest] QML lint In-Reply-To: References: Message-ID: There's qmllint binary when you compile Qt into the bin folder. You can iterate on every .qml or .js file and pass them to the qmllint binary within your shell script. ex: /my/path/to/qt/bin/qmllint my/path/to/file/myFile.qml See https://github.com/git/git/blob/master/templates/hooks--pre-commit.sample for the precommit hook with git. [image: bodycad] Jerome Godbout Software Developer 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 T: +1 418 527-1388 E: jerome at bodycad.com www.bodycad.com The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Le contenu de ce message et les pièces jointes sont destinés uniquement pour le(s) destinataire(s) et peuvent contenir des informations confidentielles et / ou privilégiées qui peuvent être protégées légalement contre toute divulgation. Si vous n'êtes pas le destinataire de ce message ou son agent, ou si ce message vous a été adressé par erreur, s’il vous plaît avertir immédiatement l'expéditeur par courriel de réponse, puis supprimer ce message et les pièces jointes. Si vous n'êtes pas le destinataire prévu, vous êtes par la présente informé que toute utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces jointes est strictement interdit. On Tue, Jan 24, 2017 at 5:51 AM, Станислав Сальников wrote: > Hey guys! > I want to make a git prepush hook to check qml codestyle. > How do you solve this problem? > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Jan 24 19:12:48 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 24 Jan 2017 10:12:48 -0800 Subject: [Interest] Qt, openssl and redistribution (of binary packages) In-Reply-To: <5224782.E2YoWU2pWd@patux.local> References: <17503616.ePIZpBU3cM@bola> <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> <5224782.E2YoWU2pWd@patux.local> Message-ID: <6065150.9XkqLpeyeE@tjmaciei-mobl1> Em segunda-feira, 23 de janeiro de 2017, às 11:12:07 PST, René J. V. Bertin escreveu: > The MacPorts packaging lists 3 licenses governing Qt5, the LGPL v2 and v3, > but also GPL3. Are you saying we shouldn't be listing the GPL3 license and > that we can do so without "risk"? Qt changed licences with 5.7: it's now GPLv2 and LGPLv3 (plus commercial). GPLv3 is mentioned explicitly in the licence headers but it's implicitly required by the LGPLv3 anyway. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Tue Jan 24 19:13:23 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 24 Jan 2017 10:13:23 -0800 Subject: [Interest] Qt, openssl and redistribution (of binary packages) In-Reply-To: <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> References: <17503616.ePIZpBU3cM@bola> <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> Message-ID: <2693504.fphYyTVN84@tjmaciei-mobl1> Em segunda-feira, 23 de janeiro de 2017, às 08:01:02 PST, Constantin Makshin escreveu: > Qt can be redistributed under the terms of LGPL which allows linking > against everything so there are no license-related issues in linking Qt > and OpenSSL. Please take OpenSSL's own terms into account. It has a weird licence. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From sylvain.pointeau at gmail.com Tue Jan 24 22:14:50 2017 From: sylvain.pointeau at gmail.com (Sylvain Pointeau) Date: Tue, 24 Jan 2017 21:14:50 +0000 Subject: [Interest] qml cache vs compiler Message-ID: Hello, I dont't understand very well the Qml cache in 5.8 versus the Qml compiler in the commercial version Is it precompiled in 5.8 or is it kind of jit compilation? Best regards, Sylvain -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Jan 24 22:43:51 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 24 Jan 2017 13:43:51 -0800 Subject: [Interest] qml cache vs compiler In-Reply-To: References: Message-ID: <1501560.tXThYETXfI@tjmaciei-mobl1> Em terça-feira, 24 de janeiro de 2017, às 21:14:50 PST, Sylvain Pointeau escreveu: > Hello, > > I dont't understand very well the Qml cache in 5.8 versus the Qml compiler > in the commercial version > > Is it precompiled in 5.8 or is it kind of jit compilation? It's a cache of the JIT. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From sylvain.pointeau at gmail.com Wed Jan 25 00:04:08 2017 From: sylvain.pointeau at gmail.com (Sylvain Pointeau) Date: Tue, 24 Jan 2017 23:04:08 +0000 Subject: [Interest] qml cache vs compiler In-Reply-To: References: <1501560.tXThYETXfI@tjmaciei-mobl1> Message-ID: > > > > Is it precompiled in 5.8 or is it kind of jit compilation? > > It's a cache of the JIT > > How does it improve the startup time? is it persistant between execution? -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Jan 25 01:07:49 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 24 Jan 2017 16:07:49 -0800 Subject: [Interest] qml cache vs compiler In-Reply-To: References: Message-ID: <3267178.pb5Wfrl64X@tjmaciei-mobl1> Em terça-feira, 24 de janeiro de 2017, às 23:04:08 PST, Sylvain Pointeau escreveu: > > > Is it precompiled in 5.8 or is it kind of jit compilation? > > > > It's a cache of the JIT > > > How does it improve the startup time? is it persistant between execution? Yes, it's persistent between executions. It gets invalidated if the QtQml library changes or if the source file does. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From drzhbe at gmail.com Wed Jan 25 06:11:43 2017 From: drzhbe at gmail.com (=?UTF-8?B?0KHRgtCw0L3QuNGB0LvQsNCyINCh0LDQu9GM0L3QuNC60L7Qsg==?=) Date: Wed, 25 Jan 2017 05:11:43 +0000 Subject: [Interest] QML lint In-Reply-To: References: Message-ID: Thanks for the answer! Is there any way to configure qmllint? We have some conventions in my team and some of default qmllint`s warnings are okay for us. And the main question is about codestyle. Is there any way to check indentations, spaces, semicolons, variable names etc? вт, 24 янв. 2017 г. в 20:57, Jérôme Godbout : There's qmllint binary when you compile Qt into the bin folder. You can iterate on every .qml or .js file and pass them to the qmllint binary within your shell script. ex: /my/path/to/qt/bin/qmllint my/path/to/file/myFile.qml See https://github.com/git/git/blob/master/templates/hooks--pre-commit.sample for the precommit hook with git. [image: bodycad] Jerome Godbout Software Developer 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 T: +1 418 527-1388 <(418)%20527-1388> E: jerome at bodycad.com www.bodycad.com The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Le contenu de ce message et les pièces jointes sont destinés uniquement pour le(s) destinataire(s) et peuvent contenir des informations confidentielles et / ou privilégiées qui peuvent être protégées légalement contre toute divulgation. Si vous n'êtes pas le destinataire de ce message ou son agent, ou si ce message vous a été adressé par erreur, s’il vous plaît avertir immédiatement l'expéditeur par courriel de réponse, puis supprimer ce message et les pièces jointes. Si vous n'êtes pas le destinataire prévu, vous êtes par la présente informé que toute utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces jointes est strictement interdit. On Tue, Jan 24, 2017 at 5:51 AM, Станислав Сальников wrote: Hey guys! I want to make a git prepush hook to check qml codestyle. How do you solve this problem? _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From markus.st.wrk at gmail.com Wed Jan 25 10:07:59 2017 From: markus.st.wrk at gmail.com (Markus Steinhilber) Date: Wed, 25 Jan 2017 10:07:59 +0100 Subject: [Interest] Problem transfering bigger data amounts over Websockets on iOS In-Reply-To: References: Message-ID: We already had a keep-alive mechanism which did send pings periodically around every 3 seconds. This did not help. No, the app is not backgrounded. I am using idleTimerDisabled to prevent the backgrounding. Also i tried to transfer while touching the UI every minute so it won't go to background. The app did not go to the background, but still the connection got disconnected with the error "Timeout when reading data from socket.". I did not yet try Android, since the software has some OS specific parts which are only implemented for iOS and Windows. I will try this with a minimalized version. 2017-01-20 18:33 GMT+01:00 Jason H : > What about sending sending ping messages periodically? > > Is your app being backgrounded? I had a problem with websockets disconnecting on iOS, but not on Android. > >> Sent: Friday, January 20, 2017 at 5:58 AM >> From: "Markus Steinhilber" >> To: interest at qt-project.org >> Subject: [Interest] Problem transfering bigger data amounts over Websockets on iOS >> >> Hi, >> >> I currently have a problem with websockets on iOS. I'm using a >> websocket connection to send commands and files over a network (WiFi) >> between 2 devices. The server is a Windows CE device with Qt5.3 and >> the client can be an iPad or Windows PC, using a program compiled with >> Qt 5.7.1. The files are transfered by breaking them into smaller parts >> (~20-300KB, depending on the speed of the last part) and sending them >> as a websocket message. There is a small protocol implemented to >> coordinate the parts. >> >> Especially when transfering bigger files(>200MB) over the network, at >> some point i always run into a disconnect of the socket with the >> closeReason "Timeout when reading data from socket." on the Client. >> The server then gives a normal disconnect without closeReason. >> >> My first question is: Is this a normal closeReason for a disconnect in >> case of a bad WiFi connection or could it be a bug in my software or >> even in Qt's Websocket implementation? I did force some disconnects by >> powering off the server device while transfering data and I did not >> get the same error on the client. >> >> I also found the QTBUG-14975 which very much sounds like my issue. The >> closeReason is set in qwebsocketframe.cpp after a >> waitForReadyRead(5000). But the main differences are that this bug is >> only reported as happening on Windows and about every 4-5GB >> transmitted. In my case it's happening only on iOS and about every >> 200-300 MB. >> >> Since the problem only happens on iOS(iPad and simulator) but not with >> a Windows PC as client, i am also thinking about, if this could be an >> OS related problem. Like iOS detecting a Wifi disconnect earlier when >> a Windows PC maybe waits a bit longer and the connections get better >> again. >> >> Would it be a solution to change the timeout of the >> waitForReadyRead(5000) in qwebsocketframe.cpp and compile a custom Qt? >> Is it likely that this will help? >> >> Thanks for any help on that topic. I'm investigating this problem for >> days and don't find any solution. >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> From iamsergio at gmail.com Wed Jan 25 10:23:32 2017 From: iamsergio at gmail.com (=?UTF-8?Q?S=C3=A9rgio_Martins?=) Date: Wed, 25 Jan 2017 09:23:32 +0000 Subject: [Interest] QML lint In-Reply-To: References: Message-ID: On Wed, Jan 25, 2017 at 5:11 AM, Станислав Сальников wrote: > Thanks for the answer! > Is there any way to configure qmllint? We have some conventions in my team > and some of default qmllint`s warnings are okay for us. > And the main question is about codestyle. Is there any way to check > indentations, spaces, semicolons, variable names etc? > That's not possible. qmllint will only tell you if the syntax is correct or not. Regards, Sérgio Martins -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Wed Jan 25 11:02:22 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Wed, 25 Jan 2017 11:02:22 +0100 Subject: [Interest] Qt, openssl and redistribution (of binary packages) References: <17503616.ePIZpBU3cM@bola> <1eeb09bc-d37c-4ef9-526f-25459c577547@gmail.com> <5224782.E2YoWU2pWd@patux.local> <6065150.9XkqLpeyeE@tjmaciei-mobl1> Message-ID: <4079139.8jOaObi7gc@patux.local> Thiago Macieira wrote: > Qt changed licences with 5.7: it's now GPLv2 and LGPLv3 (plus commercial). > GPLv3 is mentioned explicitly in the licence headers but it's implicitly > required by the LGPLv3 anyway. Thanks. So you think we don't need (as in, it's safer) to list GPL3 explicitly if we list LGPL3? R. From alervdvcw at gmail.com Wed Jan 25 13:30:09 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Wed, 25 Jan 2017 15:30:09 +0300 Subject: [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit Message-ID: <38c06748-901e-2500-4547-02df668c4563@gmail.com> Hello, Says: Project ERROR: Unknown module(s) in QT: webenginewidgets I could not find any information about supported platforms for this module. Is this error means it's not supported there? From alexandru.croitor at qt.io Wed Jan 25 13:36:30 2017 From: alexandru.croitor at qt.io (Alexandru Croitor) Date: Wed, 25 Jan 2017 12:36:30 +0000 Subject: [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit In-Reply-To: <38c06748-901e-2500-4547-02df668c4563@gmail.com> References: <38c06748-901e-2500-4547-02df668c4563@gmail.com> Message-ID: <0C9C5BCB-BDF6-4B6C-9163-2D52C078865F@qt.io> Hello, WebEngine is not supported on WinRT platform. It works only on Windows Desktop, Linux and macOS. Regards, Alex. > On 25 Jan 2017, at 13:30, Alexander Dyagilev wrote: > > Hello, > > Says: > > Project ERROR: Unknown module(s) in QT: webenginewidgets > > I could not find any information about supported platforms for this module. > > Is this error means it's not supported there? > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From mail at jiyuusoft.net Wed Jan 25 13:36:42 2017 From: mail at jiyuusoft.net (=?ISO-8859-1?Q?Charles-=C9lie_G?=) Date: Wed, 25 Jan 2017 13:36:42 +0100 Subject: [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit Message-ID: <73sfol3begr01fvlao0rp8qt.1485347802507@email.android.com> Hi, For me, this module is only supported on desktop device (Linux, OS X and Windows). For Android, iOS and WinRT,  you have to use WebView or Webkit. Bye Charlie Envoyé de mon Galaxy S6 Orange -------- Message d'origine --------De : Alexander Dyagilev Date : 25/01/2017 13:30 (GMT+01:00) À : interest at qt-project.org Objet : [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit Hello, Says: Project ERROR: Unknown module(s) in QT: webenginewidgets I could not find any information about supported platforms for this module. Is this error means it's not supported there? _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerome at bodycad.com Wed Jan 25 15:40:00 2017 From: jerome at bodycad.com (=?UTF-8?B?SsOpcsO0bWUgR29kYm91dA==?=) Date: Wed, 25 Jan 2017 09:40:00 -0500 Subject: [Interest] QML lint In-Reply-To: References: Message-ID: Then you will need to do your own team convention lint executable to achieve that. Qmllint only check basic syntax. But you probably can try a javascript indent lint like this one: http://eslint.org/docs/rules/indent not sure it will work but could worth a try [image: bodycad] Jerome Godbout Software Developer 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 T: +1 418 527-1388 E: jerome at bodycad.com www.bodycad.com The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Le contenu de ce message et les pièces jointes sont destinés uniquement pour le(s) destinataire(s) et peuvent contenir des informations confidentielles et / ou privilégiées qui peuvent être protégées légalement contre toute divulgation. Si vous n'êtes pas le destinataire de ce message ou son agent, ou si ce message vous a été adressé par erreur, s’il vous plaît avertir immédiatement l'expéditeur par courriel de réponse, puis supprimer ce message et les pièces jointes. Si vous n'êtes pas le destinataire prévu, vous êtes par la présente informé que toute utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces jointes est strictement interdit. On Wed, Jan 25, 2017 at 4:23 AM, Sérgio Martins wrote: > On Wed, Jan 25, 2017 at 5:11 AM, Станислав Сальников > wrote: > >> Thanks for the answer! >> Is there any way to configure qmllint? We have some conventions in my >> team and some of default qmllint`s warnings are okay for us. >> And the main question is about codestyle. Is there any way to check >> indentations, spaces, semicolons, variable names etc? >> > > That's not possible. qmllint will only tell you if the syntax is correct > or not. > > Regards, > Sérgio Martins > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronan.jouchet at cadensimaging.com Wed Jan 25 15:50:29 2017 From: ronan.jouchet at cadensimaging.com (Ronan Jouchet) Date: Wed, 25 Jan 2017 09:50:29 -0500 Subject: [Interest] QML lint In-Reply-To: References: Message-ID: On 2017-01-25 09:40, Jérôme Godbout wrote: > Then you will need to do your own team convention lint executable > to achieve that. Qmllint only check basic syntax. > > But you probably can try a javascript indent lint like this one: > http://eslint.org/docs/rules/indent > > not sure it will work but could worth a try No, out-of-the-box, ESLint will choke on QML, and even on Qt JS specific syntax (e.g. `.pragma library` or `.import "foo.js" as Foo`) Having ESLint would be awesome, it's a beast of a linter and its extensibility provides room for custom Qt rules. Curious to see if attempts were made to bake in support for QML / Qt-flavored JS. From alervdvcw at gmail.com Wed Jan 25 17:33:52 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Wed, 25 Jan 2017 19:33:52 +0300 Subject: [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit In-Reply-To: <73sfol3begr01fvlao0rp8qt.1485347802507@email.android.com> References: <73sfol3begr01fvlao0rp8qt.1485347802507@email.android.com> Message-ID: <15f848c1-0348-ac03-9c3b-568943599928@gmail.com> WebView does not allow to access its cookies (or modify them)... Webkit is deprecated... Any chance an ability to at least read WebView's cookies will be added in the near future? On 1/25/2017 3:36 PM, Charles-Élie G wrote: > Hi, > > For me, this module is only supported on desktop device (Linux, OS X > and Windows). For Android, iOS and WinRT, you have to use WebView or > Webkit. > > Bye > > Charlie > > > > Envoyé de mon Galaxy S6 Orange > > -------- Message d'origine -------- > De : Alexander Dyagilev > Date : 25/01/2017 13:30 (GMT+01:00) > À : interest at qt-project.org > Objet : [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit > > Hello, > > Says: > > Project ERROR: Unknown module(s) in QT: webenginewidgets > > I could not find any information about supported platforms for this > module. > > Is this error means it's not supported there? > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Jan 25 17:45:29 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Jan 2017 08:45:29 -0800 Subject: [Interest] Qt, openssl and redistribution (of binary packages) In-Reply-To: <4079139.8jOaObi7gc@patux.local> References: <17503616.ePIZpBU3cM@bola> <6065150.9XkqLpeyeE@tjmaciei-mobl1> <4079139.8jOaObi7gc@patux.local> Message-ID: <67518719.dXTg1B9qmp@tjmaciei-mobl1> Em quarta-feira, 25 de janeiro de 2017, às 11:02:22 PST, René J. V. Bertin escreveu: > Thiago Macieira wrote: > > Qt changed licences with 5.7: it's now GPLv2 and LGPLv3 (plus commercial). > > GPLv3 is mentioned explicitly in the licence headers but it's implicitly > > required by the LGPLv3 anyway. > > Thanks. So you think we don't need (as in, it's safer) to list GPL3 > explicitly if we list LGPL3? Correct. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From frank at ohufx.com Wed Jan 25 21:38:20 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 26 Jan 2017 09:38:20 +1300 Subject: [Interest] TypeError during cythonize Message-ID: Hi all, I have run into this issue a couple of times now: Some of my class declarations look like this: class DBTaskQueue(QtCore.QObject): def __init__(self, npdbInstance, task=None, parent=None): super(DBTaskQueue, self).__init__(parent) This works fine when run as pure python code but when I cythonize I get this error: TypeError:super(type,obj):obj must be an instance orsubtype of type The error only happens when I provide arguments to t super() - e.g. "parent" in this case. The workaround is to use this instead: class DBTaskQueue(QtCore.QObject): def __init__(self, npdbInstance, task=None, parent=None): *QtCore.QObject.__init__(self, parent)* When there is no argument to super() it always seems to be happy. Is this a bug or user error? Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ohufxLogo_50x50.png Type: image/png Size: 2666 bytes Desc: not available URL: From rjvbertin at gmail.com Wed Jan 25 22:37:14 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 25 Jan 2017 22:37:14 +0100 Subject: [Interest] Qt/Mac: 2-finger-tap right-click and context menu Message-ID: <6799622.adjWStnGIQ@portia.local> Hello, Has anything changed between Qt 5.6 and 5.7.1 in the processing of native right-click events leading up to the emission of the aboutToShow signal for context menus? There are 2 ways to produce a right-click with a standard Mac mouse or trackpad: with a Ctrl-Click of the unique mouse button, or a 2-finger tap on the trackpad. I use an application (KDevelop) that builds the editor's context menu in reaction to an aboutToShow signal, and for a while now it is as if every other 2-finger-tap is ignored (gets lost). In any case the aboutToShow signal isn't sent. This is not (or much less) the case when I use Ctrl-Click. I'm seeing this with Qt 5.7.1 and 5.8.0RC, I cannot recall noticing it with 5.6.2 . Thanks, R. From tim at klingt.org Thu Jan 26 07:00:49 2017 From: tim at klingt.org (Tim Blechmann) Date: Thu, 26 Jan 2017 14:00:49 +0800 Subject: [Interest] qml cache vs compiler In-Reply-To: <3267178.pb5Wfrl64X@tjmaciei-mobl1> References: <3267178.pb5Wfrl64X@tjmaciei-mobl1> Message-ID: >>>> Is it precompiled in 5.8 or is it kind of jit compilation? >>> >>> It's a cache of the JIT >>> >> How does it improve the startup time? is it persistant between execution? > > Yes, it's persistent between executions. It gets invalidated if the QtQml > library changes or if the source file does. i wonder, how are changes to the QtQml library tested? is there some built-in tag or ABI counter or does it rely on the (modification time of the) executable? i'm thinking about linking qt statically ... From mail at jiyuusoft.net Thu Jan 26 07:51:06 2017 From: mail at jiyuusoft.net (Charles-Elie Gentil) Date: Thu, 26 Jan 2017 07:51:06 +0100 Subject: [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit In-Reply-To: <15f848c1-0348-ac03-9c3b-568943599928@gmail.com> References: <73sfol3begr01fvlao0rp8qt.1485347802507@email.android.com> <15f848c1-0348-ac03-9c3b-568943599928@gmail.com> Message-ID: <8F6DF67E-D115-4599-B1CC-6293A415DE14@jiyuusoft.net> Hi, You can rebuild WebKit from community release : http://download.qt.io/community_releases/5.8/5.8.0-final/ For WebView, I think that it’s the same problem that I’ve had (in my case, WebView could not remember the login, password, … but on Android device). To fixe this issue, I've modified the source and I've rebuilt Qt for Android. To modify the source : https://bugreports.qt.io/browse/QTBUG-56775 Here for example, the command to rebuild Qt for Android on my Mac : ./configure -xplatform android-g++ -nomake tests -nomake examples -android-ndk /Users/charlie/Library/Android/sdk/ndk-bundle -android-sdk /Users/charlie/Library/Android/sdk/ -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors -qt-zlib -prefix /Applications/Qt/5.8/android Maybe that this solution can help you, Good luck. Best regards, Charlie mail at jiyuusoft.net http://blog.jiyuusoft.net > Le 25 janv. 2017 à 17:33, Alexander Dyagilev a écrit : > > WebView does not allow to access its cookies (or modify them)... > > Webkit is deprecated... > > Any chance an ability to at least read WebView's cookies will be added in the near future? > > On 1/25/2017 3:36 PM, Charles-Élie G wrote: >> Hi, >> >> For me, this module is only supported on desktop device (Linux, OS X and Windows). For Android, iOS and WinRT, you have to use WebView or Webkit. >> >> Bye >> >> Charlie >> >> >> >> Envoyé de mon Galaxy S6 Orange >> >> -------- Message d'origine -------- >> De : Alexander Dyagilev >> Date : 25/01/2017 13:30 (GMT+01:00) >> À : interest at qt-project.org >> Objet : [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit >> >> Hello, >> >> Says: >> >> Project ERROR: Unknown module(s) in QT: webenginewidgets >> >> I could not find any information about supported platforms for this module. >> >> Is this error means it's not supported there? >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Thu Jan 26 08:50:40 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Jan 2017 23:50:40 -0800 Subject: [Interest] qml cache vs compiler In-Reply-To: References: <3267178.pb5Wfrl64X@tjmaciei-mobl1> Message-ID: <1873058.PxYW2yY8px@tjmaciei-mobl1> Em quinta-feira, 26 de janeiro de 2017, às 14:00:49 PST, Tim Blechmann escreveu: > >>>> Is it precompiled in 5.8 or is it kind of jit compilation? > >>> > >>> It's a cache of the JIT > >>> > >> How does it improve the startup time? is it persistant between > >> execution? > > > > Yes, it's persistent between executions. It gets invalidated if the QtQml > > library changes or if the source file does. > > i wonder, how are changes to the QtQml library tested? is there some > built-in tag or ABI counter or does it rely on the (modification time of > the) executable? i'm thinking about linking qt statically ... There's an internal number that is bumped when the internal ABI changes. So if you'e building from Git, you may get crashes if you don't clean your cache often. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From alexandru.croitor at qt.io Thu Jan 26 11:03:29 2017 From: alexandru.croitor at qt.io (Alexandru Croitor) Date: Thu, 26 Jan 2017 10:03:29 +0000 Subject: [Interest] TypeError during cythonize In-Reply-To: References: Message-ID: <12A5BB2A-F6B5-46EA-890C-C30CE4F2245D@qt.io> Hi, In case you are using PyQt, I would suggest you will get higher response rates at the PyQt mailing list, because this particular curiosity does not seem related to the internal Qt code. On 25 Jan 2017, at 21:38, Frank Rueter | OHUfx > wrote: Hi all, I have run into this issue a couple of times now: Some of my class declarations look like this: class DBTaskQueue(QtCore.QObject): def __init__(self, npdbInstance, task=None, parent=None): super(DBTaskQueue, self).__init__(parent) This works fine when run as pure python code but when I cythonize I get this error: TypeError: super(type, obj): obj must be an instance or subtype of type The error only happens when I provide arguments to t super() - e.g. "parent" in this case. The workaround is to use this instead: class DBTaskQueue(QtCore.QObject): def __init__(self, npdbInstance, task=None, parent=None): QtCore.QObject.__init__(self, parent) When there is no argument to super() it always seems to be happy. Is this a bug or user error? Cheers, frank -- vfx compositing | workflow customisation and consulting _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From gm at mes-ia.de Thu Jan 26 12:00:19 2017 From: gm at mes-ia.de (=?UTF-8?Q?G=c3=bcnter_Michel?=) Date: Thu, 26 Jan 2017 12:00:19 +0100 Subject: [Interest] Qt5.8 doesnot show consolewindow on windows os Message-ID: <456776e9-0559-1d4e-e28b-8a765e68cf0e@mes-ia.de> In Qt5.7 starting a detached console works fine. voidMainWindow::start() { QProcessp; QStringListargs; args<<"/k"; p.startDetached("cmd",args); } In Qt5.8 Process 'cmd /k' is started, but no console window is shown. Any suggestions? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bjornpiltz at gmail.com Thu Jan 26 13:45:10 2017 From: bjornpiltz at gmail.com (=?UTF-8?B?QmrDtnJuIFBpbHR6?=) Date: Thu, 26 Jan 2017 13:45:10 +0100 Subject: [Interest] Qt5.8 doesnot show consolewindow on windows os In-Reply-To: <456776e9-0559-1d4e-e28b-8a765e68cf0e@mes-ia.de> References: <456776e9-0559-1d4e-e28b-8a765e68cf0e@mes-ia.de> Message-ID: Seems to be because of this: http://code.qt.io/cgit/qt/qtbase.git/commit/src/corelib/io/qprocess_win.cpp?id=bec2fc19fd18768b16925597871c77a61e716abd 2017-01-26 12:00 GMT+01:00 Günter Michel : > > In Qt5.7 starting a detached console works fine. > > void MainWindow::start() > > { > > QProcess p; > > QStringList args; > > args << "/k"; > > p.startDetached("cmd", args); > > } > > In Qt5.8 Process 'cmd /k' is started, but no console window is shown. > > Any suggestions? > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bjornpiltz at gmail.com Thu Jan 26 13:46:39 2017 From: bjornpiltz at gmail.com (=?UTF-8?B?QmrDtnJuIFBpbHR6?=) Date: Thu, 26 Jan 2017 13:46:39 +0100 Subject: [Interest] Qt5.8 doesnot show consolewindow on windows os In-Reply-To: References: <456776e9-0559-1d4e-e28b-8a765e68cf0e@mes-ia.de> Message-ID: https://bugreports.qt.io/browse/QTBUG-57687 2017-01-26 13:45 GMT+01:00 Björn Piltz : > Seems to be because of this: http://code.qt.io/cgit/qt/ > qtbase.git/commit/src/corelib/io/qprocess_win.cpp?id= > bec2fc19fd18768b16925597871c77a61e716abd > > > > 2017-01-26 12:00 GMT+01:00 Günter Michel : > > > > In Qt5.7 starting a detached console works fine. > > > > void MainWindow::start() > > > > { > > > > QProcess p; > > > > QStringList args; > > > > args << "/k"; > > > > p.startDetached("cmd", args); > > > > } > > > > In Qt5.8 Process 'cmd /k' is started, but no console window is shown. > > > > Any suggestions? > > > > > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jan.struhar at cs-soft.cz Thu Jan 26 17:05:07 2017 From: jan.struhar at cs-soft.cz (=?UTF-8?B?SmFuICdLb3ZpxaEnIFN0cnVow6Fy?=) Date: Thu, 26 Jan 2017 17:05:07 +0100 Subject: [Interest] webenginewidgets and Qt 5.8 for WinRT armv7 kit In-Reply-To: <0C9C5BCB-BDF6-4B6C-9163-2D52C078865F@qt.io> References: <38c06748-901e-2500-4547-02df668c4563@gmail.com> <0C9C5BCB-BDF6-4B6C-9163-2D52C078865F@qt.io> Message-ID: <69894351-a18f-f58b-1272-b64373b2f52c@cs-soft.cz> On 01/25/2017 01:36 PM, Alexandru Croitor wrote: > Hello, > > WebEngine is not supported on WinRT platform. > > It works only on Windows Desktop, Linux and macOS. It is neither supported for WindowsDesktop at MinGW as I learned the hard way. Chromium does not compile with MinGW so you need to turn to MSVC on WinDesktop when you surely need QWebEngine... Jan From gm at mes-ia.de Thu Jan 26 19:51:16 2017 From: gm at mes-ia.de (=?UTF-8?Q?G=c3=bcnter_Michel?=) Date: Thu, 26 Jan 2017 19:51:16 +0100 Subject: [Interest] Qt5.8 doesnot show consolewindow on windows os In-Reply-To: References: <456776e9-0559-1d4e-e28b-8a765e68cf0e@mes-ia.de> Message-ID: Am 26.01.2017 um 13:46 schrieb Björn Piltz: > https://bugreports.qt.io/browse/QTBUG-57687 > > 2017-01-26 13:45 GMT+01:00 Björn Piltz >: > > Seems to be because of this: > http://code.qt.io/cgit/qt/qtbase.git/commit/src/corelib/io/qprocess_win.cpp?id=bec2fc19fd18768b16925597871c77a61e716abd > > > > > > 2017-01-26 12:00 GMT+01:00 Günter Michel >: > > > > In Qt5.7 starting a detached console works fine. > > > > void MainWindow::start() > > > > { > > > > QProcess p; > > > > QStringList args; > > > > args << "/k"; > > > > p.startDetached("cmd", args); > > > > } > > > > In Qt5.8 Process 'cmd /k' is started, but no console window is > shown. > > > > Any suggestions? > > > > > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest To restore the 5.7 behaviour i tried to do this like the documentation suggests p.setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments*args) { args->flags|=CREATE_NEW_CONSOLE; args->startupInfo->dwFlags&=~STARTF_USESTDHANDLES; args->startupInfo->dwFlags|=STARTF_USEFILLATTRIBUTE; args->startupInfo->dwFillAttribute=BACKGROUND_BLUE|FOREGROUND_RED |FOREGROUND_INTENSITY; }); but the function won't be called. -- MES Industrieautomation GmbH Simmershäuser Straße 102D D-34125 Kassel Tel. 0049(0561) 813004 Fax 0049(0561) 813005 Mobil +49 172 9822485 E-mail: gm at mes-ia.de http:// www.mes at mes-ia.de Registergericht: Amtsgericht Kassel HRB5618 Geschäftsführer: Ralf Brüne Günter Michel Axel Rosenthal Manfred Stangl -------------- next part -------------- An HTML attachment was scrubbed... URL: From robertpancoast77 at gmail.com Thu Jan 26 20:13:32 2017 From: robertpancoast77 at gmail.com (=?UTF-8?Q?=C6=A6OB_COASTN?=) Date: Thu, 26 Jan 2017 14:13:32 -0500 Subject: [Interest] qtgamepad Support for Microsoft Xbox 360 Wireless Receiver+Controller for Mandelbulber2 Message-ID: Greetings, Currently QTgamepad 5.7.1 on Windows Server 2012R2 fails to operate correctly. The "Qt Gamepad Configure Buttons Example" compiles and runs, but the connected Gamepads drop down never populates. However, the values for the gamepad input accurately reflect button and stick status. It seems that something is not properly functioning with the "GamepadManager.connectedGamepads". Please consider the following changes: https://github.com/buddhi1980/mandelbulber2/commit/a5da4831016cd01080b772e7690305d5a9f28f6c Any advice for troubleshooting? Thanks, Rob -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank at ohufx.com Thu Jan 26 20:33:50 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Fri, 27 Jan 2017 08:33:50 +1300 Subject: [Interest] TypeError during cythonize In-Reply-To: <12A5BB2A-F6B5-46EA-890C-C30CE4F2245D@qt.io> References: <12A5BB2A-F6B5-46EA-890C-C30CE4F2245D@qt.io> Message-ID: true, will do, thanks. On 26/01/17 11:03 PM, Alexandru Croitor wrote: > Hi, > > In case you are using PyQt, I would suggest you will get higher > response rates at the PyQt mailing list, > because this particular curiosity does not seem related to the > internal Qt code. > >> On 25 Jan 2017, at 21:38, Frank Rueter | OHUfx > > wrote: >> >> Hi all, >> >> I have run into this issue a couple of times now: >> >> Some of my class declarations look like this: >> >> class DBTaskQueue(QtCore.QObject): >> def __init__(self, npdbInstance, task=None, parent=None): >> super(DBTaskQueue, self).__init__(parent) >> >> >> This works fine when run as pure python code but when I cythonize I >> get this error: >> >> TypeError:super(type,obj):obj must be an instance orsubtype of type >> >> >> The error only happens when I provide arguments to t super() - e.g. >> "parent" in this case. >> The workaround is to use this instead: >> >> class DBTaskQueue(QtCore.QObject): >> def __init__(self, npdbInstance, task=None, parent=None): >> *QtCore.QObject.__init__(self, parent)* >> >> >> When there is no argument to super() it always seems to be happy. >> >> Is this a bug or user error? >> >> Cheers, >> frank >> >> >> -- >> *vfx compositing >> | *workflow customisation and >> consulting * * >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dirk.neumann at dn-informatik.de Thu Jan 26 23:01:03 2017 From: dirk.neumann at dn-informatik.de (Dirk Neumann) Date: Thu, 26 Jan 2017 23:01:03 +0100 Subject: [Interest] QStandardItemModel - Delegate with custom widget Message-ID: <20170126230103.04ff4926@merkur.sonnensys.tem> Hello, I know that this is nearly an everlasting topic - place a custom Widget into a QTreeView. The widget I want to be displayed is up to now I arranged a QLabel and a QTextEdit, but in Future the widget will be of higher complexity. Nevertheless, the widget itself works for me and is called ReqTextItemWidget. I derived QStyledItemDelegate and overrode createEditor(), setEditorData(), setModelData(). All these methods do what I expect, the data from model will be passed into editor and vice versa, I can edit data, fine. I also overrode sizeHint() and paint() of the delegate. My sizeHint method looks: QSize ReqTextDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const{ ReqTextItemWidget *item_widget=new ReqTextItemWidget(); QString value=index.data().toString(); item_widget->set_caption("Unicornpolish"); item_widget->set_maintext(value); item_widget->setGeometry(option.rect); return item_widget->sizeHint(); } where set_maintext() sets the text in the QTextEdit and set_caption() sets the text in the QLabel, just to get a calculated size. This is my paint()-method: void ReqTextDelegate::paint(QPainter *painter,const QStyleOptionViewItem &option, QModelIndex const& index) const{ QPaintDevice* original_pdev_ptr = painter->device(); if (option.state & QStyle::State_Selected) painter->fillRect(option.rect, option.palette.highlight()); ReqTextItemWidget *item_widget=new ReqTextItemWidget(); QString value=index.data().toString(); item_widget->set_caption("Unicornpolish"); item_widget->set_maintext(value); // geometry item_widget->setGeometry(option.rect); painter->end(); // rendering of QWidget itself //region relative to option.rect int region_x=-100; // ----> value int region_y=-25; // ----> value int region_w=option.rect.width()-region_x; int region_h=option.rect.height()-region_y; item_widget->render(painter->device(), QPoint(option.rect.x(), option.rect.y()), QRegion(region_x, region_y, region_w, region_h), QWidget::RenderFlag::DrawChildren); painter->begin(original_pdev_ptr); } My problem now is the adjustment of the values region_x and region_y for placing the widget just to the same place as the editor. But hard coding values are eval. Not portable. No-Go. What can I do here? I also played around with setIndexWidget(), but then it seems that I loose control over the widgets: Selecting and editing in one widget has nothing to do with the selected item in my QTreeView. I could catch some signals from the widgets to adjust the selection of the QTreeView (and maybe can even handle it by using QSignalMapper) but I fear the moment when I do some changes in the model which change the tree structure... Greetings Dirk. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 833 bytes Desc: Digitale Signatur von OpenPGP URL: From jeanmichael.celerier at gmail.com Fri Jan 27 10:32:58 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Fri, 27 Jan 2017 10:32:58 +0100 Subject: [Interest] Warnings with CMake when using Qt 5.8 Message-ID: Hello, I'm getting this warning when using Qt from CMake : CMake Warning (dev) at /opt/qt58/lib/cmake/Qt5/Qt5ModuleLocation.cmake:4 (set): Policy CMP0053 is not set: Simplify variable reference and escape sequence evaluation. Run "cmake --help-policy CMP0053" for policy details. Use the cmake_policy command to set the policy and suppress this warning. For input: '${_qt5_install_prefix}/Qt5 at module@/Qt5 at module@Config.cmake' the old evaluation rules produce: '/opt/qt58/lib/cmake/Qt5/Qt5Config.cmake' but the new evaluation rules produce: '/opt/qt58/lib/cmake/Qt5 at module@/Qt5 at module@Config.cmake' Using the old result for compatibility since the policy is not set. Call Stack (most recent call first): /opt/qt58/lib/cmake/Qt5/Qt5Config.cmake:25 (include) OSSIA/CMakeLists.txt:73 (find_package) Since it's not there in 5.7, and it's only for Qt5Location (which I don't even use) I guess that it's a Qt bug. Does someone know if it's something important ? Best Jean-Michaël Celerier -------------- next part -------------- An HTML attachment was scrubbed... URL: From shaan7in at gmail.com Fri Jan 27 18:47:53 2017 From: shaan7in at gmail.com (Shantanu Tushar) Date: Fri, 27 Jan 2017 23:17:53 +0530 Subject: [Interest] Attached properties with Namespaced imports Message-ID: Hi, I realized today that this doesn't work- import QtQuick 2.7 import QtQuick.Controls 2.1 as C2 C2.ApplicationWindow { visible: true width: 640 height: 480 C2.StackView { anchors.fill: parent Component.onCompleted: push(rectComponent) } Component { id: rectComponent Rectangle { color: "green" C2.StackView.onStatusChanged: console.log("Status is " + StackView.status) } } } "Status is" is never printed. However if I import without the "as C2" and use "StackView.onStatusChanged", the message is printed. The reason I need to do this is that we are still using QtQuick Controls 1 throughout our project and want to use StackView from QtQuick.Controls 2 because we need the "StackView.onRemoved" functionality. Any idea how to make the attached property's signal work? Cheers, -- Shantanu Tushar (UTC +0530) shantanu.io From jpnurmi at qt.io Fri Jan 27 19:33:53 2017 From: jpnurmi at qt.io (J-P Nurmi) Date: Fri, 27 Jan 2017 18:33:53 +0000 Subject: [Interest] Attached properties with Namespaced imports In-Reply-To: References: Message-ID: Hi, Try this: C2.StackView.onStatusChanged: console.log("Status is " + C2.StackView.status) -- J-P Nurmi > On 27 Jan 2017, at 18:48, Shantanu Tushar wrote: > > Hi, > > I realized today that this doesn't work- > > import QtQuick 2.7 > import QtQuick.Controls 2.1 as C2 > > C2.ApplicationWindow { > visible: true > width: 640 > height: 480 > > C2.StackView { > anchors.fill: parent > > Component.onCompleted: push(rectComponent) > } > > Component { > id: rectComponent > > Rectangle { > color: "green" > C2.StackView.onStatusChanged: console.log("Status is " + > StackView.status) > } > } > } > > "Status is" is never printed. However if I import without the "as C2" > and use "StackView.onStatusChanged", the message is printed. > > The reason I need to do this is that we are still using QtQuick > Controls 1 throughout our project and want to use StackView from > QtQuick.Controls 2 because we need the "StackView.onRemoved" > functionality. > > Any idea how to make the attached property's signal work? > > Cheers, > > -- > Shantanu Tushar (UTC +0530) > shantanu.io > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From shaan7in at gmail.com Fri Jan 27 19:45:06 2017 From: shaan7in at gmail.com (Shantanu Tushar) Date: Sat, 28 Jan 2017 00:15:06 +0530 Subject: [Interest] Attached properties with Namespaced imports In-Reply-To: References: Message-ID: Hi, Ah I think I made a typo while preparing the code snippet. I tried what you suggested as well, doesn't work. Also, something I just noticed in GammaRay, "QQuickStackAttached" is missing in the properties list for the Rectangle in the code sample which doesn't work. Here's a screenshot http://i.imgur.com/OEVZQZA.png On Sat, Jan 28, 2017 at 12:03 AM, J-P Nurmi wrote: > Hi, > > Try this: > > C2.StackView.onStatusChanged: console.log("Status is " + C2.StackView.status) > > -- > J-P Nurmi > >> On 27 Jan 2017, at 18:48, Shantanu Tushar wrote: >> >> Hi, >> >> I realized today that this doesn't work- >> >> import QtQuick 2.7 >> import QtQuick.Controls 2.1 as C2 >> >> C2.ApplicationWindow { >> visible: true >> width: 640 >> height: 480 >> >> C2.StackView { >> anchors.fill: parent >> >> Component.onCompleted: push(rectComponent) >> } >> >> Component { >> id: rectComponent >> >> Rectangle { >> color: "green" >> C2.StackView.onStatusChanged: console.log("Status is " + >> StackView.status) >> } >> } >> } >> >> "Status is" is never printed. However if I import without the "as C2" >> and use "StackView.onStatusChanged", the message is printed. >> >> The reason I need to do this is that we are still using QtQuick >> Controls 1 throughout our project and want to use StackView from >> QtQuick.Controls 2 because we need the "StackView.onRemoved" >> functionality. >> >> Any idea how to make the attached property's signal work? >> >> Cheers, >> >> -- >> Shantanu Tushar (UTC +0530) >> shantanu.io >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest -- Shantanu Tushar (UTC +0530) shantanu.io -------------- next part -------------- A non-text attachment was scrubbed... Name: OEVZQZA.png Type: image/png Size: 195725 bytes Desc: not available URL: From alervdvcw at gmail.com Fri Jan 27 21:24:51 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Fri, 27 Jan 2017 23:24:51 +0300 Subject: [Interest] qobject_cast returns 0 Message-ID: Hello, got one yet another qt bug(?) .... qobject_cast returns 0 dynamic_cast works fine. MyClass is derived from a base class derived from QObject. Q_OBJECT macro is present... From alervdvcw at gmail.com Fri Jan 27 21:30:23 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Fri, 27 Jan 2017 23:30:23 +0300 Subject: [Interest] qobject_cast returns 0 In-Reply-To: References: Message-ID: <7cd066d2-0f0b-98d7-1514-f30fbf4a59dd@gmail.com> it seems the problem is that class instance is created in one DLL while qobject_cast is called for this instance in another DLL... can this be the reason? what can be done then? On 1/27/2017 11:24 PM, Alexander Dyagilev wrote: > Hello, > > got one yet another qt bug(?) .... > > qobject_cast returns 0 > > dynamic_cast works fine. > > MyClass is derived from a base class derived from QObject. > > Q_OBJECT macro is present... > From kshegunov at gmail.com Fri Jan 27 21:32:30 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Fri, 27 Jan 2017 22:32:30 +0200 Subject: [Interest] qobject_cast returns 0 In-Reply-To: <7cd066d2-0f0b-98d7-1514-f30fbf4a59dd@gmail.com> References: <7cd066d2-0f0b-98d7-1514-f30fbf4a59dd@gmail.com> Message-ID: Have you exported your class (and thus all its mata object information) from said dll? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alervdvcw at gmail.com Fri Jan 27 21:52:23 2017 From: alervdvcw at gmail.com (Alexander Dyagilev) Date: Fri, 27 Jan 2017 23:52:23 +0300 Subject: [Interest] qobject_cast returns 0 In-Reply-To: References: <7cd066d2-0f0b-98d7-1514-f30fbf4a59dd@gmail.com> Message-ID: <584d1478-7d02-f191-82e6-02deaf605464@gmail.com> Thank you! That was the reason. On 1/27/2017 11:32 PM, Konstantin Shegunov wrote: > Have you exported your class (and thus all its mata object > information) from said dll? From forrestuuid at gmail.com Sat Jan 28 01:33:27 2017 From: forrestuuid at gmail.com (Forrest Leeson) Date: Fri, 27 Jan 2017 19:33:27 -0500 Subject: [Interest] Handling signal-slot connections on demand (sanity check request) Message-ID: Assume an application that creates a focusable dialog with 9 buttons. Clicking buttons 1-8 causes the creation of new windows — type 1 through type 8, each type supporting a slot, S, that can be connected to the signal of button 9. Clicking button 9 should trigger slot S only of the window that was most recently active. Which is to say the connection can't usefully be set up when the window is created. A solution would seem to be to add a look-at-me signal to all the window types, which they would emit to the dialog upon receiving focus; the receiver would then [ disconnect(Button9,0,0,0) ] and then connect Button 9 to the signalling window's slot S by way of QObject::sender() with a side order of qobject_cast...at which point I am realize I am stupid and ignorant and have misplaced all my B vitamins and choline supplements and my coffee is cold and foul. The documentation warns against using Sender this way, but chides rather than forbids. Look-at-me signals not arriving in order would be a dealbreaker, but unless I'm misreading, establishing the connection with Qt::DirectConnection will fix that. And I guess checking for 0 against the result of the cast will avoid crashing. So: is this approach even minimally sane, and even if so is there a (better) way to do it? From shaan7in at gmail.com Sat Jan 28 09:53:46 2017 From: shaan7in at gmail.com (Shantanu Tushar) Date: Sat, 28 Jan 2017 14:23:46 +0530 Subject: [Interest] Attached properties with Namespaced imports In-Reply-To: References: Message-ID: Ok here's I worked around this by creating another file called StackViewPage.qml - ``` import QtQuick 2.7 import QtQuick.Controls 2.1 Item { property var stackViewStatus: StackView.status property int stackViewIndex: StackView.index signal stackViewActivated signal stackViewActivating signal stackViewDeactivated signal stackViewDeactivating signal stackViewRemoved StackView.onActivated: stackViewActivated() StackView.onActivating: stackViewActivating() StackView.onDeactivated: stackViewDeactivated() StackView.onDeactivating: stackViewDeactivating() StackView.onRemoved: stackViewRemoved() } ``` which then works fine like this- ``` import QtQuick 2.7 import QtQuick.Controls 2.1 as C2 C2.ApplicationWindow { visible: true width: 640 height: 480 C2.StackView { anchors.fill: parent Component.onCompleted: push(rectComponent) } Component { id: rectComponent StackViewPage { onStackViewStatusChanged: console.log("Status is " + stackViewStatus) } } } ``` Now the question is that is this how attached properties are supposed to work? Or should I file a bug? On Sat, Jan 28, 2017 at 12:15 AM, Shantanu Tushar wrote: > Hi, > > Ah I think I made a typo while preparing the code snippet. I tried > what you suggested as well, doesn't work. > > Also, something I just noticed in GammaRay, "QQuickStackAttached" is > missing in the properties list for the Rectangle in the code sample > which doesn't work. Here's a screenshot http://i.imgur.com/OEVZQZA.png > > > On Sat, Jan 28, 2017 at 12:03 AM, J-P Nurmi wrote: >> Hi, >> >> Try this: >> >> C2.StackView.onStatusChanged: console.log("Status is " + C2.StackView.status) >> >> -- >> J-P Nurmi >> >>> On 27 Jan 2017, at 18:48, Shantanu Tushar wrote: >>> >>> Hi, >>> >>> I realized today that this doesn't work- >>> >>> import QtQuick 2.7 >>> import QtQuick.Controls 2.1 as C2 >>> >>> C2.ApplicationWindow { >>> visible: true >>> width: 640 >>> height: 480 >>> >>> C2.StackView { >>> anchors.fill: parent >>> >>> Component.onCompleted: push(rectComponent) >>> } >>> >>> Component { >>> id: rectComponent >>> >>> Rectangle { >>> color: "green" >>> C2.StackView.onStatusChanged: console.log("Status is " + >>> StackView.status) >>> } >>> } >>> } >>> >>> "Status is" is never printed. However if I import without the "as C2" >>> and use "StackView.onStatusChanged", the message is printed. >>> >>> The reason I need to do this is that we are still using QtQuick >>> Controls 1 throughout our project and want to use StackView from >>> QtQuick.Controls 2 because we need the "StackView.onRemoved" >>> functionality. >>> >>> Any idea how to make the attached property's signal work? >>> >>> Cheers, >>> >>> -- >>> Shantanu Tushar (UTC +0530) >>> shantanu.io >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest > > > > -- > Shantanu Tushar (UTC +0530) > shantanu.io -- Shantanu Tushar (UTC +0530) shantanu.io From dan at jerber.co.uk Sat Jan 28 16:57:34 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 28 Jan 2017 15:57:34 +0000 Subject: [Interest] GTK Style Message-ID: Hi, With Qt5.8.0, the GTK platform theme has returned. However, the GTK style has not. Does anyone know if the GTK style will reappear in a future release or has this gone for good? Thanks. From thiago.macieira at intel.com Sat Jan 28 19:28:51 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 28 Jan 2017 10:28:51 -0800 Subject: [Interest] GTK Style In-Reply-To: References: Message-ID: <4912804.Q6tx1i0dL7@tjmaciei-mobl1> On sábado, 28 de janeiro de 2017 15:57:34 PST Dan Allen wrote: > Hi, > > With Qt5.8.0, the GTK platform theme has returned. However, the GTK > style has not. > > Does anyone know if the GTK style will reappear in a future release or > has this gone for good? It's still there, it did not get removed. The Gtk2 plugin is in qtstyleplugins, not qtbase. That happened in Qt 5.7.0, not 5.8. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From dan at jerber.co.uk Sat Jan 28 20:44:30 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 28 Jan 2017 19:44:30 +0000 Subject: [Interest] GTK Style In-Reply-To: <4912804.Q6tx1i0dL7@tjmaciei-mobl1> References: <4912804.Q6tx1i0dL7@tjmaciei-mobl1> Message-ID: <115c1f12-f611-345e-5706-1cd226d56b4c@jerber.co.uk> Thanks for the information Thiago. I downloaded that and compiled it etc. However, I can't get it to work using Qt5.8. Have you used qtstyleplugins with Qt5.8? On 28/01/17 18:28, Thiago Macieira wrote: > On sábado, 28 de janeiro de 2017 15:57:34 PST Dan Allen wrote: >> Hi, >> >> With Qt5.8.0, the GTK platform theme has returned. However, the GTK >> style has not. >> >> Does anyone know if the GTK style will reappear in a future release or >> has this gone for good? > It's still there, it did not get removed. > > The Gtk2 plugin is in qtstyleplugins, not qtbase. That happened in Qt 5.7.0, > not 5.8. > From thiago.macieira at intel.com Sat Jan 28 21:47:37 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 28 Jan 2017 12:47:37 -0800 Subject: [Interest] GTK Style In-Reply-To: <115c1f12-f611-345e-5706-1cd226d56b4c@jerber.co.uk> References: <4912804.Q6tx1i0dL7@tjmaciei-mobl1> <115c1f12-f611-345e-5706-1cd226d56b4c@jerber.co.uk> Message-ID: <5759705.Ymd6jj35UN@tjmaciei-mobl1> On sábado, 28 de janeiro de 2017 19:44:30 PST Dan Allen wrote: > Thanks for the information Thiago. > > I downloaded that and compiled it etc. However, I can't get it to work > using Qt5.8. Have you used qtstyleplugins with Qt5.8? I have not, but there's a commit there saying "Fix build with Qt >= 5.8". Can you check if you have it? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From dan at jerber.co.uk Sat Jan 28 22:02:18 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 28 Jan 2017 21:02:18 +0000 Subject: [Interest] GTK Style In-Reply-To: <5759705.Ymd6jj35UN@tjmaciei-mobl1> References: <4912804.Q6tx1i0dL7@tjmaciei-mobl1> <115c1f12-f611-345e-5706-1cd226d56b4c@jerber.co.uk> <5759705.Ymd6jj35UN@tjmaciei-mobl1> Message-ID: <7c397780-f166-0786-95ac-f0090c61b47c@jerber.co.uk> Yes, I downloaded the master. I checked and it includes those changes. I don't have an issue building it with Qt5.8, it compiled fine. My application just doesn't seem to see the plugins. On 28/01/17 20:47, Thiago Macieira wrote: > On sábado, 28 de janeiro de 2017 19:44:30 PST Dan Allen wrote: >> Thanks for the information Thiago. >> >> I downloaded that and compiled it etc. However, I can't get it to work >> using Qt5.8. Have you used qtstyleplugins with Qt5.8? > I have not, but there's a commit there saying "Fix build with Qt >= 5.8". Can > you check if you have it? > From thiago.macieira at intel.com Sat Jan 28 22:27:12 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 28 Jan 2017 13:27:12 -0800 Subject: [Interest] GTK Style In-Reply-To: <7c397780-f166-0786-95ac-f0090c61b47c@jerber.co.uk> References: <5759705.Ymd6jj35UN@tjmaciei-mobl1> <7c397780-f166-0786-95ac-f0090c61b47c@jerber.co.uk> Message-ID: <2008767.FBFPTYS4eQ@tjmaciei-mobl1> On sábado, 28 de janeiro de 2017 21:02:18 PST Dan Allen wrote: > I don't have an issue building it with Qt5.8, it compiled fine. My > application just doesn't seem to see the plugins. Run with QT_DEBUG_PLUGINS=1 and it'll tell you whether it found the files and whether they could be loaded. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From dan at jerber.co.uk Sat Jan 28 22:58:56 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 28 Jan 2017 21:58:56 +0000 Subject: [Interest] GTK Style In-Reply-To: <2008767.FBFPTYS4eQ@tjmaciei-mobl1> References: <5759705.Ymd6jj35UN@tjmaciei-mobl1> <7c397780-f166-0786-95ac-f0090c61b47c@jerber.co.uk> <2008767.FBFPTYS4eQ@tjmaciei-mobl1> Message-ID: <11ea810f-1407-0115-dae1-556b2574f16a@jerber.co.uk> Thanks so much for your help Thiago. It does work after all (when the libraries are in the right place!). On 28/01/17 21:27, Thiago Macieira wrote: > On sábado, 28 de janeiro de 2017 21:02:18 PST Dan Allen wrote: >> I don't have an issue building it with Qt5.8, it compiled fine. My >> application just doesn't seem to see the plugins. > Run with QT_DEBUG_PLUGINS=1 and it'll tell you whether it found the files and > whether they could be loaded. > From rjvbertin at gmail.com Sun Jan 29 15:28:29 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sun, 29 Jan 2017 15:28:29 +0100 Subject: [Interest] Qt/Mac low-level hacking: key mapping and NSMenuFunctionKey Message-ID: <2017635.bU2aGnsWqW@portia.local> Hello, Not long ago I asked about support (on Mac) for opening context menus via the keyboard. I was told there is none, so I dug around in the Qt sources for a bit myself. I discovered quite quickly that there is a NSMenuFunctionKey (defined in the system SDKs) that is taken into account in the Cocoa platform plugin, and mapped to Qt::Key_Menu . I have now tinkered with the idea of intercepting keyboard events with a local NSEvent monitor (set in a style plugin for now), which catches events corresponding to a press of the right Option (Alt) key and replaces them with a synthetic event emulating a press of the Menu key: const unichar menuKeyCode = static_cast(NSMenuFunctionKey); NSString *menuKeyString = [NSString stringWithCharacters:&menuKeyCode length:1]; NSEvent *menuKeyEvent = [NSEvent keyEventWithType:NSKeyDown location:[event locationInWindow] modifierFlags:([event modifierFlags] & ~NSAlternateKeyMask) timestamp:[event timestamp] windowNumber:[event windowNumber] context:nil characters:menuKeyString charactersIgnoringModifiers:menuKeyString isARepeat:NO // the keyCode must be an 8-bit value so not to be confounded with the Unicode value. // Judging from Carbon/Events.h 0x7f is unused. keyCode:0x7f]; qWarning() << "new event:" << QString::fromNSString([menuKeyEvent description]); return menuKeyEvent; The principle seems to work when I emulate a common function key like Home, but it doesn't work for NSMenuFunctionKey. Part of the problem is probably that I have no way of knowing what keycode to insert, but there's something else which appears to go wrong in qcocoakeymapper.mm With the event created as shown above, QCocoaKeyMapper::updateKeyMap() is called as follows: qWarning("updateKeyMap for virtual key = 0x%02x unicodeKey=0x%04x!", (uint)macVirtualKey, unicodeKey); > updateKeyMap for virtual key = 0x7f unicodeKey=0x1000055! That corresponds to my event (enum Key in qnamespace.h). Evidently (?), UCKeyTranslate() fails for this combination, so qt_mac_get_key() is called with the input unicodeKey and macVirtualKey parameters. However, that function returns the letter 'U' for this input, and with DEBUG_KEY_BINDINGS set we can see why: > **Mapping key: 85 (0x0055) - 61 (0x003d) > 287: got key: 20 But why would qWarning("%04x", unicodeKey) print 0x1000055 and qWarning("%04x", unicodeKey.unicode()) print 0x0055 if a QChar's actual value is stored as `ushort ucs`?? By contrast, this is the output for a real event when pressing F1: > updateKeyMap for virtual key = 0x7a unicodeKey=0x1000030! > **Mapping key: 16 (0x0010) - 122 (0x007a) > 319: got key: Qt::Key_F1 In short, I must manage to get qt_mac_get_key() to fall through to its final loop where it checks "if they belong to key codes in private unicode range". Any suggestions how I can get there without patching qcocoakeymapper.mm ? Has anyone ever been able to test this particular case/configuration with a keyboard that does have a Menu key, or with a system keymap that generates actual NSMenuFunctionKey strokes (or a properly configured ~/Library/KeyBindings/DefaultKeyBinding.dict)? Thanks, René From krzysiek.kawa at gmail.com Sun Jan 29 16:40:34 2017 From: krzysiek.kawa at gmail.com (Krzysztof Kawa) Date: Sun, 29 Jan 2017 16:40:34 +0100 Subject: [Interest] 5.8.0 configure and -D option with value Message-ID: Hi, I can't seem to find any info on this. Has something changed in the way I'm suppose to pass defines with values to the configure script in 5.8.0 or is this a bug? It works as expected when I pass e.g. configure -D FOO but when I try configure -D FOO=1 I get an error: ERROR: No value supplied to command line option 'defines'. Qmake failed, return code 3 No other info is provided on the output, even with -verbose. This worked in previous versions, but configure was overhauled in 5.8 so I suppose it has something to do with that. I'm on Windows 10 using VS2015 and the actual thing I'm trying to pass is _ITERATOR_DEBUG_LEVEL=0, but it doesn't seem to matter what the define is. Chris From rjvbertin at gmail.com Sun Jan 29 16:45:10 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Sun, 29 Jan 2017 16:45:10 +0100 Subject: [Interest] Qt/Mac low-level hacking: key mapping and NSMenuFunctionKey In-Reply-To: <2017635.bU2aGnsWqW@portia.local> References: <2017635.bU2aGnsWqW@portia.local> Message-ID: <29715854.3irdL5DAQs@portia.local> On Sunday January 29 2017 15:28:29 René J.V. Bertin wrote: > In short, I must manage to get qt_mac_get_key() to fall through to its final loop where it checks "if they belong to key codes in private unicode range". Any suggestions how I can get there without patching qcocoakeymapper.mm ? Has anyone ever been able to test this particular case/configuration with a keyboard that does have a Menu key, or with a system keymap that generates actual NSMenuFunctionKey strokes (or a properly configured ~/Library/KeyBindings/DefaultKeyBinding.dict)? The question boils down to - how and where does QChar(0x01000030) (Key_F1) map to 0xf704 (0xf704 is undoubtedly a Mac-specific Unicode value for F1) - why do QCocoaKeyMapper::updateKeyMap() and qt_mac_get_key() get a QChar as argument if the full range of QKeyEvent::key() cannot be mapped to a 16 bit value? It seems that QKeyEvent::key() is already a Qt::Key_* value from enum Key. That enum contains a range of entries that correspond to special keys that are not subject to keyboard mapping (in the sense of En or Fr or De or ...) Given that, why doesn't qt_mac_get_key() get the event as an additional optional parameter, which could be used for something like if (event) { int rawKey = event->key(); // check if the event's key "code" can be a 16 bit Unicode QChar or if not // if it's in the appropriate range corresponding to extended Qt::Key_* codes if (rawKey > 0xffff && rawKey >= Qt::Key_Escape && rawKey < Qt::Key_unknown) { return rawKey; } } Little cost for "normal" keystrokes, but it allows to skip the full range of tests for those special keys, tests which could succeed inappropriately. R. From benswerts at telenet.be Sun Jan 29 19:43:55 2017 From: benswerts at telenet.be (Ben Swerts) Date: Sun, 29 Jan 2017 19:43:55 +0100 Subject: [Interest] 5.8.0 configure and -D option with value In-Reply-To: References: Message-ID: Hi Chris, If I'm not mistaken you need to use FOO#1 instead of FOO=1. Regards, Ben > On 29 Jan 2017, at 16:40, Krzysztof Kawa wrote: > > Hi, > > I can't seem to find any info on this. Has something changed in the > way I'm suppose to pass defines with values to the configure script in > 5.8.0 or is this a bug? > > It works as expected when I pass e.g. configure -D FOO > but when I try configure -D FOO=1 I get an error: > > ERROR: No value supplied to command line option 'defines'. > Qmake failed, return code 3 > > No other info is provided on the output, even with -verbose. This > worked in previous versions, but configure was overhauled in 5.8 so I > suppose it has something to do with that. > I'm on Windows 10 using VS2015 and the actual thing I'm trying to pass > is _ITERATOR_DEBUG_LEVEL=0, but it doesn't seem to matter what the > define is. > > Chris > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From krzysiek.kawa at gmail.com Sun Jan 29 20:27:37 2017 From: krzysiek.kawa at gmail.com (Krzysztof Kawa) Date: Sun, 29 Jan 2017 20:27:37 +0100 Subject: [Interest] 5.8.0 configure and -D option with value In-Reply-To: References: Message-ID: 2017-01-29 19:43 GMT+01:00 Ben Swerts : > If I'm not mistaken you need to use FOO#1 instead of FOO=1. Hm, thanks but that doesn't seem to work. configure goes through without error, but when I call jom I only see FOO passed to cl i.e. without the value. From thiago.macieira at intel.com Mon Jan 30 03:16:23 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 29 Jan 2017 18:16:23 -0800 Subject: [Interest] 5.8.0 configure and -D option with value In-Reply-To: References: Message-ID: <2985521.dbqxXfxlv0@tjmaciei-mobl1> On domingo, 29 de janeiro de 2017 16:40:34 PST Krzysztof Kawa wrote: > It works as expected when I pass e.g. configure -D FOO > but when I try configure -D FOO=1 I get an error: > > ERROR: No value supplied to command line option 'defines'. > Qmake failed, return code 3 Please report this. configure changed quite a lot in Qt 5.8 so this may have got broken. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From krzysiek.kawa at gmail.com Mon Jan 30 10:03:53 2017 From: krzysiek.kawa at gmail.com (Krzysztof Kawa) Date: Mon, 30 Jan 2017 10:03:53 +0100 Subject: [Interest] 5.8.0 configure and -D option with value In-Reply-To: <2985521.dbqxXfxlv0@tjmaciei-mobl1> References: <2985521.dbqxXfxlv0@tjmaciei-mobl1> Message-ID: 2017-01-30 3:16 GMT+01:00 Thiago Macieira : > Please report this. configure changed quite a lot in Qt 5.8 so this may have > got broken. Done. https://bugreports.qt.io/browse/QTBUG-58517 From cia.michele at gmail.com Mon Jan 30 11:11:25 2017 From: cia.michele at gmail.com (Michele Ciampichetti) Date: Mon, 30 Jan 2017 11:11:25 +0100 Subject: [Interest] Win7 Qt 5.8 installing problem Message-ID: good morning to all, I tryed to install the new Qt 5.8 version on a windows 7 SP1 notebook. Some months ago I've installed on it a Qt 5.3 and it run correctly. Now, when I install, I got the errors atteched (they refer to qt 5.7.1 setup but I got same errors with 5.8 offline installer) Have you got any ideas? Thanks a lot. Michele -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: reqtonwin7sp1.zip Type: application/zip Size: 739609 bytes Desc: not available URL: From Kai.Koehne at qt.io Mon Jan 30 12:25:35 2017 From: Kai.Koehne at qt.io (Kai, Koehne) Date: Mon, 30 Jan 2017 11:25:35 +0000 Subject: [Interest] Win7 Qt 5.8 installing problem In-Reply-To: References: Message-ID: > -----Original Message----- > From: Interest [mailto:interest-bounces+kai.koehne=qt.io at qt-project.org] > On Behalf Of Michele Ciampichetti > Sent: Monday, January 30, 2017 11:11 AM > To: interest at qt-project.org > Subject: [Interest] Win7 Qt 5.8 installing problem > > good morning to all, > I tryed to install the new Qt 5.8 version on a windows 7 SP1 notebook. > Some months ago I've installed on it a Qt 5.3 and it run correctly. > Now, when I install, I got the errors atteched (they refer to qt 5.7.1 setup but > I got same errors with 5.8 offline installer) The error occurs when the installer calls sdktool.exe (which is part of Qt Creator). The problem seems to be that your Visual Studio 2015 runtime is installed, but probably corrupted. Can you to to repair your Visual Studio 2015 Runtime? Kai From rmanni at gmail.com Mon Jan 30 12:48:36 2017 From: rmanni at gmail.com (=?UTF-8?Q?Manner_R=C3=B3bert?=) Date: Mon, 30 Jan 2017 12:48:36 +0100 Subject: [Interest] quick test does not log to standard output Message-ID: Hi, I am using "qmltestcase" to write some unit test for out application. I have noticed that when I am checking the windows version with wine, it does not show any output (if the tests have passed or failed). I did sevaral trials to fix: - CONFIG += console - supplying the argument to the test runner "-o -,txt" - installing my own message handler But none of these seems to fix it. Then I have noticed if I run the test with "wineconsole", the output appears corrently. (In a newly openned terminal window.) This point, it might be wine issue, but "pure" Qt unit tests does not behave like this: they are outputting correctly no matter if they are running with "wine" or "wineconsole". Do you know if quick tests do some magic internally to detect if it can print or not? (qmltestrunner seems to behave the same, so I doubt that the problem is in my code.) Thanks for any help/ideas in advance, Robert -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.weghorn at posteo.de Mon Jan 30 14:12:32 2017 From: m.weghorn at posteo.de (Michael Weghorn) Date: Mon, 30 Jan 2017 14:12:32 +0100 Subject: [Interest] Printer-specific options in Qt5's print dialog (Linux, CUPS) Message-ID: Hi, in September 2015, I asked about the status of printer-specific options in the Qt 5 print dialog on Linux (with CUPS as printing system), s. thread at [1]. As John Layt explained, a rework of the print dialog had started for Qt 5 but could not be finished until then. The implementation for printer-specific options had been rather broken in Qt 4 and was removed for Qt 5, with the plan to reimplement them as part of a new printing system. John explained that unfortunately, work on the new printing system could not be continued then due to lack of time and money. As far as I can see, the situation now is still mostly the same. As printer-specific options (like e.g. selecting a particular input tray, setting a PIN for a confidential print job, punching, creating a booklet, ...) are quite an important feature for us (City of Munich), we are currently evaluating different options for how to continue. One option is to implement that functionality ourselves or have a contractor implement it for us. We would very much like this feature to be available upstream so that everybody can benefit from it and we do not have to maintain it in our own "fork" of Qt. Before we make any further plans, I wanted to ask about the Qt project's current plan for the print dialog. While I am very grateful for the links John has given about the new print system back then, some points are still a bit vague to me and I currently do not know what the next concrete steps in the implementation of the new print system would be to get closer to the desired goal. (Any further information on that is welcome.) Back then, John had written that various new features need to be implemented for the new Qt print system and a temporary solution based on the current code might be a better approach at first. In case no activities are currently planned on Qt's side, our current technical approach would probably be to implement the feature based on the current code base and make an implementation similar to what John wrote in [2]: > Given the dependency tree of new features required to reach the end > point, a temporary implementation might be a better bet than waiting > for the new print system, i.e. reimplement the old extra page but > smarter. The main problem with the old page was it duplicated settings > from the main dialog, and hid the fact you could actually edit the > values. The UX I had in mind for Qt4 was to choose all the features > that could be supported directly in the main dialog and add them > there, then filter those out in the extra page in a generic editing > view. It would require a lot of work around parsing PPD's and matching > option codes to existing ui, but it's doable. I would be very grateful for any further information on the topic, particularly on the following questions: 1) Are there (concrete) plans for the next steps considering the Qt print dialog? 2) Is the Qt project interested in us working together with them to get the feature implemented upstream? 3) Is a temporary implementation as described above considered as a good approach for now? 4) Are there other people/organisations that have the same problem? Do you have approaches to deal with that? Possibly, Qt's development mailing list might be a better place when it comes to more details about a a possible implementation, but I wanted to start here where the discussion took place in 2015. Regards, Michael PS: Besides the implementation of printer-specific options, there are a few other things in the Qt 5 print dialog that we would like to address, but that will be done separately. [1] http://lists.qt-project.org/pipermail/interest/2015-September/thread.html#18692 [2] http://lists.qt-project.org/pipermail/interest/2015-September/018700.html From rpzrpzrpz at gmail.com Mon Jan 30 14:20:55 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Mon, 30 Jan 2017 07:20:55 -0600 Subject: [Interest] Qt Lite 5.8 Message-ID: Tor: In the 5.8 release blog, on January 24, 2017 at 14:40, you said: "Stay tuned for some more info on this in the coming week." The week has almost expired. Really want some configure examples to actually realize the benefits of Qt Lite. After spending about 4 hours last Friday, I could not figure out how to build a "Lite" anything. The only thing I could build is the full build rocking out at 30 MB on OSX. But anytime I tried to "reduce" binary size, the build would fail with some dependency vomiting errors. What I really want is to get IOS and Android build size down according to Lars compelling build size graph from the blog. So we need those minimal samples and some way to navigate the dependencies without this process becoming another full time job for us. Thanks for any response, md From rpzrpzrpz at gmail.com Mon Jan 30 15:05:19 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Mon, 30 Jan 2017 08:05:19 -0600 Subject: [Interest] Qt Lite 5.8 In-Reply-To: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> References: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> Message-ID: Ok, Maybe someone at Qt could direct us to the Qt Lite documention? Or any information about it so that your customers can be successful. Right now, there is only dependency build failure hell. md On Mon, Jan 30, 2017 at 7:24 AM, Tor Arne Vestbø wrote: > Hi Marc, > > I did not say anything about Qt Lite, I replied to a comment about dynamic > linking on iOS. > > tor arne > > On 30/01/2017 14:20, mark diener wrote: >> >> Tor: >> >> In the 5.8 release blog, on January 24, 2017 at 14:40, you said: >> >> "Stay tuned for some more info on this in the coming week." >> >> The week has almost expired. >> >> Really want some configure examples to actually realize the benefits of Qt >> Lite. >> >> After spending about 4 hours last Friday, I could not figure out how >> to build a "Lite" anything. >> >> The only thing I could build is the full build rocking out at 30 MB on >> OSX. >> >> But anytime I tried to "reduce" binary size, the build would fail with >> some dependency vomiting errors. >> >> What I really want is to get IOS and Android build size down according >> to Lars compelling build size graph from the blog. >> >> So we need those minimal samples and some way to navigate the >> dependencies without this process >> becoming another full time job for us. >> >> Thanks for any response, >> >> md >> > From Kai.Koehne at qt.io Mon Jan 30 16:12:01 2017 From: Kai.Koehne at qt.io (Kai, Koehne) Date: Mon, 30 Jan 2017 15:12:01 +0000 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> Message-ID: > -----Original Message----- > From: mark diener [mailto:rpzrpzrpz at gmail.com] > Sent: Monday, January 30, 2017 3:05 PM > To: Tor Arne, Vestbø > Cc: Kai, Koehne ; interest at qt-project.org; Jake, > Petroules > Subject: Re: Qt Lite 5.8 > > Ok, > > Maybe someone at Qt could direct us to the Qt Lite documention? Qt Lite isn't a product, but an initiative (see also the original announcement at http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/ ). As such there's no 'Qt Lite documentation'. Anyhow, the part of Qt Lite that you might refer to is the rework of the Qt configuration system. Qt always had configure arguments for some features, but they were hard-coded in the configure script, and mostly limited to the libraries in qtbase. There was also a feature system based on a qfeatures.txt file, which however was not getting much attention and deteriorated over time. We now have a modular system where every Qt module can declare its options and features (including dependencies) in a declarative 'configure.json' file. These features can then be switched on and off from the top-level configure call. A lot of the Qt modules already make use of this to allow developers to enable or disable features that weren't exposed before. There's also a graphical tool that shows the features (currently only for Qt for Device creation): http://doc.qt.io/QtForDeviceCreation/qt-configuration-tool.html . You can also look up features through the configure.json files in the sources. > Or any information about it so that your customers can be successful. > > Right now, there is only dependency build failure hell. The new system doesn't guarantee that feature dependencies are always correctly represented, and there might still be feature permutations that lead to compilation errors. But the new setup should help us maintaining and fixing the dependencies much more easily, as well as adding new ones. Regards Kai From andre at familiesomers.nl Mon Jan 30 16:41:54 2017 From: andre at familiesomers.nl (=?UTF-8?Q?Andr=c3=a9_Somers?=) Date: Mon, 30 Jan 2017 16:41:54 +0100 Subject: [Interest] Handling signal-slot connections on demand (sanity check request) In-Reply-To: References: Message-ID: <905658d0-7240-32bc-2e20-c0124c87ec5f@familiesomers.nl> Hi, Op 28/01/2017 om 01:33 schreef Forrest Leeson: > Assume an application that creates a focusable dialog with 9 buttons. > Clicking buttons 1-8 causes the creation of new windows — type 1 > through type 8, each type supporting a slot, S, that can be connected > to the signal of button 9. > > Clicking button 9 should trigger slot S only of the window that was > most recently active. Which is to say the connection can't usefully be > set up when the window is created. > > A solution would seem to be to add a look-at-me signal to all the > window types, which they would emit to the dialog upon receiving > focus; the receiver would then [ disconnect(Button9,0,0,0) ] and then > connect Button 9 to the signalling window's slot S by way of > QObject::sender() with a side order of qobject_cast...at which point I > am realize I am stupid and ignorant and have misplaced all my B > vitamins and choline supplements and my coffee is cold and foul. > The documentation warns against using Sender this way, but chides > rather than forbids. Look-at-me signals not arriving in order would be > a dealbreaker, but unless I'm misreading, establishing the connection > with Qt::DirectConnection will fix that. And I guess checking for 0 > against the result of the cast will avoid crashing. > > So: is this approach even minimally sane, and even if so is there a > (better) way to do it? Why do you maintain a connection to each of the windows at all? It seem to me that it would be much easier keeping track of which of your windows 1..8 is active (monitor for the occurance of QEvent::WindowActivate in your application via an event filter), and then on triggering button 9 simply call the indicated method S on that window. André From rpzrpzrpz at gmail.com Mon Jan 30 18:57:33 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Mon, 30 Jan 2017 11:57:33 -0600 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> Message-ID: Kai: Thank you for the response. As a QT customer, I would hope that communications from Qt Staff would yield something that I can USE. Your response suggested that dependency build failures are an uncommon occurrence. ("there might still be feature permutations that lead to compilation errors") I can assure you that 100% of my attempts to reduce the binary size of Qt 5.8 have ended in failure. Don't believe me? Try this test config line: /macdev/qt580/5.8/Src/configure -prefix /macdev/qt580/5.8/osxstat \ -verbose \ -opensource \ -release \ -strip \ -c++std c++11 \ -confirm-license \ -reduce-exports \ -nomake tests \ -nomake examples \ -qt-libjpeg \ -qt-libpng \ -opengl desktop \ -no-widgets Results in build failure: 10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I/macdev/qt580/5.8/Src/qtbase/mkspecs/macx-clang -F/macdev/qt580/5.8/build-osx/qtbase/lib -o .obj/qmacfunctions_mac.o /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm In file included from /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm:50: In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/QMenu:1: In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qmenu.h:1: In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/widgets/qmenu.h:43: In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qtwidgetsglobal.h:1: /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/kernel/qtwidgetsglobal.h:44:10: fatal error: 'QtWidgets/qtwidgets-config.h' file not found #include ^ 1 error generated. make[3]: *** [.obj/qmacfunctions_mac.o] Error 1 make[2]: *** [sub-macextras-install_subtargets] Error 2 make[1]: *** [sub-src-install_subtargets] Error 2 make: *** [module-qtmacextras-install_subtargets] Error 2 Start:Mon Jan 30 11:40:59 CST 2017 End:Mon Jan 30 11:52:37 CST 2017 mds-Mac-mini:builds md$ So how do I get rid of widgets, since I am only using Qt Quick QML? Maybe Qt can provide configuration command line examples of reduced size builds that actually WORK. Thanks md On Mon, Jan 30, 2017 at 9:12 AM, Kai, Koehne wrote: >> -----Original Message----- >> From: mark diener [mailto:rpzrpzrpz at gmail.com] >> Sent: Monday, January 30, 2017 3:05 PM >> To: Tor Arne, Vestbø >> Cc: Kai, Koehne ; interest at qt-project.org; Jake, >> Petroules >> Subject: Re: Qt Lite 5.8 >> >> Ok, >> >> Maybe someone at Qt could direct us to the Qt Lite documention? > > Qt Lite isn't a product, but an initiative (see also the original announcement at http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/ ). As such there's no 'Qt Lite documentation'. > > Anyhow, the part of Qt Lite that you might refer to is the rework of the Qt configuration system. Qt always had configure arguments for some features, but they were hard-coded in the configure script, and mostly limited to the libraries in qtbase. There was also a feature system based on a qfeatures.txt file, which however was not getting much attention and deteriorated over time. > > We now have a modular system where every Qt module can declare its options and features (including dependencies) in a declarative 'configure.json' file. These features can then be switched on and off from the top-level configure call. A lot of the Qt modules already make use of this to allow developers to enable or disable features that weren't exposed before. > > There's also a graphical tool that shows the features (currently only for Qt for Device creation): http://doc.qt.io/QtForDeviceCreation/qt-configuration-tool.html . You can also look up features through the configure.json files in the sources. > >> Or any information about it so that your customers can be successful. >> >> Right now, there is only dependency build failure hell. > > The new system doesn't guarantee that feature dependencies are always correctly represented, and there might still be feature permutations that lead to compilation errors. But the new setup should help us maintaining and fixing the dependencies much more easily, as well as adding new ones. > > Regards > > Kai From annulen at yandex.ru Mon Jan 30 19:16:20 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Mon, 30 Jan 2017 21:16:20 +0300 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> Message-ID: <3318061485800180@web24h.yandex.ru> 30.01.2017, 20:58, "mark diener" : > Kai: > > Thank you for the response. > > As a QT customer, I would hope that communications from Qt Staff would > yield something that I can USE. > > Your response suggested that dependency build failures are an uncommon > occurrence. ("there might still be feature permutations that lead to > compilation errors") > > I can assure you that 100% of my attempts to reduce the binary size of > Qt 5.8 have ended in failure. > > Don't believe me? Try this test config line: I think macOS is not the best platform to play with shrinking, try Linux instead. > > /macdev/qt580/5.8/Src/configure -prefix /macdev/qt580/5.8/osxstat \ > -verbose \ > -opensource \ > -release \ > -strip \ > -c++std c++11 \ > -confirm-license \ > -reduce-exports \ > -nomake tests \ > -nomake examples \ > -qt-libjpeg \ > -qt-libpng \ > -opengl desktop \ > -no-widgets > > Results in build failure: > > 10.11.sdk/System/Library/Frameworks/AGL.framework/Headers > -I/macdev/qt580/5.8/Src/qtbase/mkspecs/macx-clang > -F/macdev/qt580/5.8/build-osx/qtbase/lib -o .obj/qmacfunctions_mac.o > /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm > In file included from > /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm:50: > In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/QMenu:1: > In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qmenu.h:1: > In file included from > /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/widgets/qmenu.h:43: > In file included from > /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qtwidgetsglobal.h:1: > /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/kernel/qtwidgetsglobal.h:44:10: > fatal error: 'QtWidgets/qtwidgets-config.h' file not >       found > #include >          ^ > 1 error generated. > make[3]: *** [.obj/qmacfunctions_mac.o] Error 1 > make[2]: *** [sub-macextras-install_subtargets] Error 2 > make[1]: *** [sub-src-install_subtargets] Error 2 > make: *** [module-qtmacextras-install_subtargets] Error 2 > Start:Mon Jan 30 11:40:59 CST 2017 End:Mon Jan 30 11:52:37 CST 2017 > mds-Mac-mini:builds md$ > > So how do I get rid of widgets, since I am only using Qt Quick QML? > > Maybe Qt can provide configuration command line examples of reduced > size builds that actually WORK. > > Thanks > > md > > On Mon, Jan 30, 2017 at 9:12 AM, Kai, Koehne wrote: >>>  -----Original Message----- >>>  From: mark diener [mailto:rpzrpzrpz at gmail.com] >>>  Sent: Monday, January 30, 2017 3:05 PM >>>  To: Tor Arne, Vestbø >>>  Cc: Kai, Koehne ; interest at qt-project.org; Jake, >>>  Petroules >>>  Subject: Re: Qt Lite 5.8 >>> >>>  Ok, >>> >>>  Maybe someone at Qt could direct us to the Qt Lite documention? >> >>  Qt Lite isn't a product, but an initiative (see also the original announcement at http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/ ). As such there's no 'Qt Lite documentation'. >> >>  Anyhow, the part of Qt Lite that you might refer to is the rework of the Qt configuration system. Qt always had configure arguments for some features, but they were hard-coded in the configure script, and mostly limited to the libraries in qtbase. There was also a feature system based on a qfeatures.txt file, which however was not getting much attention and deteriorated over time. >> >>  We now have a modular system where every Qt module can declare its options and features (including dependencies) in a declarative 'configure.json' file. These features can then be switched on and off from the top-level configure call. A lot of the Qt modules already make use of this to allow developers to enable or disable features that weren't exposed before. >> >>  There's also a graphical tool that shows the features (currently only for Qt for Device creation): http://doc.qt.io/QtForDeviceCreation/qt-configuration-tool.html . You can also look up features through the configure.json files in the sources. >> >>>  Or any information about it so that your customers can be successful. >>> >>>  Right now, there is only dependency build failure hell. >> >>  The new system doesn't guarantee that feature dependencies are always correctly represented, and there might still be feature permutations that lead to compilation errors. But the new setup should help us maintaining and fixing the dependencies much more easily, as well as adding new ones. >> >>  Regards >> >>  Kai > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From jhihn at gmx.com Mon Jan 30 19:27:35 2017 From: jhihn at gmx.com (Jason H) Date: Mon, 30 Jan 2017 19:27:35 +0100 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> , Message-ID: > Sent: Monday, January 30, 2017 at 12:57 PM > From: "mark diener" > To: "Kai, Koehne" > Cc: "Tor Arne, Vestbø" , "interest at qt-project.org" > Subject: Re: [Interest] Qt Lite 5.8 > > Kai: > > Thank you for the response. > > As a QT customer, I would hope that communications from Qt Staff would > yield something that I can USE. > > Your response suggested that dependency build failures are an uncommon > occurrence. ("there might still be feature permutations that lead to > compilation errors") > > I can assure you that 100% of my attempts to reduce the binary size of > Qt 5.8 have ended in failure. > > Don't believe me? Try this test config line: > > /macdev/qt580/5.8/Src/configure -prefix /macdev/qt580/5.8/osxstat \ > -verbose \ > -opensource \ > -release \ > -strip \ > -c++std c++11 \ > -confirm-license \ > -reduce-exports \ > -nomake tests \ > -nomake examples \ > -qt-libjpeg \ > -qt-libpng \ > -opengl desktop \ > -no-widgets > > > Results in build failure: > > 10.11.sdk/System/Library/Frameworks/AGL.framework/Headers > -I/macdev/qt580/5.8/Src/qtbase/mkspecs/macx-clang > -F/macdev/qt580/5.8/build-osx/qtbase/lib -o .obj/qmacfunctions_mac.o > /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm > In file included from > /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm:50: > In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/QMenu:1: > In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qmenu.h:1: > In file included from > /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/widgets/qmenu.h:43: > In file included from > /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qtwidgetsglobal.h:1: > /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/kernel/qtwidgetsglobal.h:44:10: > fatal error: 'QtWidgets/qtwidgets-config.h' file not > found > #include > ^ > 1 error generated. > make[3]: *** [.obj/qmacfunctions_mac.o] Error 1 > make[2]: *** [sub-macextras-install_subtargets] Error 2 > make[1]: *** [sub-src-install_subtargets] Error 2 > make: *** [module-qtmacextras-install_subtargets] Error 2 > Start:Mon Jan 30 11:40:59 CST 2017 End:Mon Jan 30 11:52:37 CST 2017 > mds-Mac-mini:builds md$ > > So how do I get rid of widgets, since I am only using Qt Quick QML? > > Maybe Qt can provide configuration command line examples of reduced > size builds that actually WORK. Clearly, there is a tangled dependency web. OSX apps have menus, the the QML menu stuff inherits from the QMenu stuff. There may be widgets that just aren't severable, however, I agree that things should be more piecemeal because if you don't you wind up with this. You may just want to do static linking if min binary size is what you are after. With some of the blog posts about the upcoming 5.9 and later, it looks like the differences between the systems will be minimized. From rpzrpzrpz at gmail.com Mon Jan 30 19:28:15 2017 From: rpzrpzrpz at gmail.com (mark diener) Date: Mon, 30 Jan 2017 12:28:15 -0600 Subject: [Interest] Qt Lite 5.8 In-Reply-To: <3318061485800180@web24h.yandex.ru> References: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> <3318061485800180@web24h.yandex.ru> Message-ID: Konstantin: How do I cross compile on Linux for IOS/OSX target? So while your suggestion is appreciated, your logic is hard to follow. md On Mon, Jan 30, 2017 at 12:16 PM, Konstantin Tokarev wrote: > > > 30.01.2017, 20:58, "mark diener" : >> Kai: >> >> Thank you for the response. >> >> As a QT customer, I would hope that communications from Qt Staff would >> yield something that I can USE. >> >> Your response suggested that dependency build failures are an uncommon >> occurrence. ("there might still be feature permutations that lead to >> compilation errors") >> >> I can assure you that 100% of my attempts to reduce the binary size of >> Qt 5.8 have ended in failure. >> >> Don't believe me? Try this test config line: > > I think macOS is not the best platform to play with shrinking, try Linux instead. > >> >> /macdev/qt580/5.8/Src/configure -prefix /macdev/qt580/5.8/osxstat \ >> -verbose \ >> -opensource \ >> -release \ >> -strip \ >> -c++std c++11 \ >> -confirm-license \ >> -reduce-exports \ >> -nomake tests \ >> -nomake examples \ >> -qt-libjpeg \ >> -qt-libpng \ >> -opengl desktop \ >> -no-widgets >> >> Results in build failure: >> >> 10.11.sdk/System/Library/Frameworks/AGL.framework/Headers >> -I/macdev/qt580/5.8/Src/qtbase/mkspecs/macx-clang >> -F/macdev/qt580/5.8/build-osx/qtbase/lib -o .obj/qmacfunctions_mac.o >> /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm >> In file included from >> /macdev/qt580/5.8/Src/qtmacextras/src/macextras/qmacfunctions_mac.mm:50: >> In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/QMenu:1: >> In file included from /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qmenu.h:1: >> In file included from >> /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/widgets/qmenu.h:43: >> In file included from >> /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/qtwidgetsglobal.h:1: >> /macdev/qt580/5.8/Src/qtbase/include/QtWidgets/../../src/widgets/kernel/qtwidgetsglobal.h:44:10: >> fatal error: 'QtWidgets/qtwidgets-config.h' file not >> found >> #include >> ^ >> 1 error generated. >> make[3]: *** [.obj/qmacfunctions_mac.o] Error 1 >> make[2]: *** [sub-macextras-install_subtargets] Error 2 >> make[1]: *** [sub-src-install_subtargets] Error 2 >> make: *** [module-qtmacextras-install_subtargets] Error 2 >> Start:Mon Jan 30 11:40:59 CST 2017 End:Mon Jan 30 11:52:37 CST 2017 >> mds-Mac-mini:builds md$ >> >> So how do I get rid of widgets, since I am only using Qt Quick QML? >> >> Maybe Qt can provide configuration command line examples of reduced >> size builds that actually WORK. >> >> Thanks >> >> md >> >> On Mon, Jan 30, 2017 at 9:12 AM, Kai, Koehne wrote: >>>> -----Original Message----- >>>> From: mark diener [mailto:rpzrpzrpz at gmail.com] >>>> Sent: Monday, January 30, 2017 3:05 PM >>>> To: Tor Arne, Vestbø >>>> Cc: Kai, Koehne ; interest at qt-project.org; Jake, >>>> Petroules >>>> Subject: Re: Qt Lite 5.8 >>>> >>>> Ok, >>>> >>>> Maybe someone at Qt could direct us to the Qt Lite documention? >>> >>> Qt Lite isn't a product, but an initiative (see also the original announcement at http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/ ). As such there's no 'Qt Lite documentation'. >>> >>> Anyhow, the part of Qt Lite that you might refer to is the rework of the Qt configuration system. Qt always had configure arguments for some features, but they were hard-coded in the configure script, and mostly limited to the libraries in qtbase. There was also a feature system based on a qfeatures.txt file, which however was not getting much attention and deteriorated over time. >>> >>> We now have a modular system where every Qt module can declare its options and features (including dependencies) in a declarative 'configure.json' file. These features can then be switched on and off from the top-level configure call. A lot of the Qt modules already make use of this to allow developers to enable or disable features that weren't exposed before. >>> >>> There's also a graphical tool that shows the features (currently only for Qt for Device creation): http://doc.qt.io/QtForDeviceCreation/qt-configuration-tool.html . You can also look up features through the configure.json files in the sources. >>> >>>> Or any information about it so that your customers can be successful. >>>> >>>> Right now, there is only dependency build failure hell. >>> >>> The new system doesn't guarantee that feature dependencies are always correctly represented, and there might still be feature permutations that lead to compilation errors. But the new setup should help us maintaining and fixing the dependencies much more easily, as well as adding new ones. >>> >>> Regards >>> >>> Kai >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > -- > Regards, > Konstantin From thiago.macieira at intel.com Mon Jan 30 19:32:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 30 Jan 2017 10:32:52 -0800 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: <3318061485800180@web24h.yandex.ru> Message-ID: <4259722.exWJlJUzS8@tjmaciei-mobl1> On segunda-feira, 30 de janeiro de 2017 12:28:15 PST mark diener wrote: > Konstantin: > > How do I cross compile on Linux for IOS/OSX target? > > So while your suggestion is appreciated, > your logic is hard to follow. His logic is that shrinking binaries only is supported (or makes sense) for Linux targets, especially embedded ones. Anyway, the problem you reported is that qtmacextras depends on QtWidgets, but that dependency isn't properly declared. Please report it so it can be addressed. It's a simple fix to disable the entire module if QtWidgets isn't present. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Mon Jan 30 19:35:27 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 30 Jan 2017 10:35:27 -0800 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: Message-ID: <10627442.bVtVP3NXcy@tjmaciei-mobl1> On segunda-feira, 30 de janeiro de 2017 11:57:33 PST mark diener wrote: > -c++std c++11 \ Out of curiosity, why this? Do you have any reason to specifically reduce the use of the C++ language inside Qt from C++17 to C++11? > -reduce-exports \ This is the default, so you don't need to pass the option. But you can keep it, just so that if the test fails, configure fails. We should probably make it required... Qt has not been tested without hidden visibility for at least 8 years, probably more. > -opengl desktop \ Ditto: default, but you can keep it in case some headers are missing. > -no-widgets -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From forrestuuid at gmail.com Tue Jan 31 07:39:51 2017 From: forrestuuid at gmail.com (Forrest Leeson) Date: Tue, 31 Jan 2017 01:39:51 -0500 Subject: [Interest] Handling signal-slot connections on demand (sanity check request) In-Reply-To: <905658d0-7240-32bc-2e20-c0124c87ec5f@familiesomers.nl> References: <905658d0-7240-32bc-2e20-c0124c87ec5f@familiesomers.nl> Message-ID: As to obviating the need for emitting a signal by installing an event filter — well, that's one of those better ideas I was hoping for, along with the C++11 ampersand method mentioned by the other André (thanks to both of you). Maintaining a connection — I didn't want to, hence the disconnect(Button9,0,0,0) — I wanted to establish a temporary one at the activated window's discretion. On Mon, Jan 30, 2017 at 10:41 AM, André Somers wrote: > Hi, > > > Op 28/01/2017 om 01:33 schreef Forrest Leeson: > >> Assume an application that creates a focusable dialog with 9 buttons. >> Clicking buttons 1-8 causes the creation of new windows — type 1 >> through type 8, each type supporting a slot, S, that can be connected >> to the signal of button 9. >> >> Clicking button 9 should trigger slot S only of the window that was >> most recently active. Which is to say the connection can't usefully be >> set up when the window is created. >> >> A solution would seem to be to add a look-at-me signal to all the >> window types, which they would emit to the dialog upon receiving >> focus; the receiver would then [ disconnect(Button9,0,0,0) ] and then >> connect Button 9 to the signalling window's slot S by way of >> QObject::sender() with a side order of qobject_cast...at which point I >> am realize I am stupid and ignorant and have misplaced all my B >> vitamins and choline supplements and my coffee is cold and foul. >> The documentation warns against using Sender this way, but chides >> rather than forbids. Look-at-me signals not arriving in order would be >> a dealbreaker, but unless I'm misreading, establishing the connection >> with Qt::DirectConnection will fix that. And I guess checking for 0 >> against the result of the cast will avoid crashing. >> >> So: is this approach even minimally sane, and even if so is there a >> (better) way to do it? > > Why do you maintain a connection to each of the windows at all? It seem to > me that it would be much easier keeping track of which of your windows 1..8 > is active (monitor for the occurance of QEvent::WindowActivate in your > application via an event filter), and then on triggering button 9 simply > call the indicated method S on that window. > > André > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From charleyb123 at gmail.com Tue Jan 31 14:31:02 2017 From: charleyb123 at gmail.com (charleyb123 .) Date: Tue, 31 Jan 2017 06:31:02 -0700 Subject: [Interest] C++Now 2017 Registration Is Open (May 15-20, Aspen, Colorado) Message-ID: C++Now 2017 Registration Is Open (May 15-20, Aspen, Colorado), attendance is capped at 150 persons. http://cppnow.org/2017-conference/announcements/2017/01/30/registration-is-open.html --charley From privet56 at hotmail.com Tue Jan 31 20:41:16 2017 From: privet56 at hotmail.com (privet56 hotmail.com) Date: Tue, 31 Jan 2017 19:41:16 +0000 Subject: [Interest] OBJ+MTL loaders for Canvas3D/Three.js In-Reply-To: References: Message-ID: Hi, I extended the js-Files of Qt Canvas3D: adjusted the OBJ+MTL loaders of THREE.js and used these in my demo project with QtCanvas3D. The two added files work fine in my demo project, on the desktop and on android (see below referenced pics). I would like to ask you to add these two files to the official Qt repository (eg. into %QTDIR%\Examples\Qt-5.x\canvas3d\3rdparty\ ), so that the OBJ/MTL loaders would be available for everybody in the next Qt release. Would that be possible? The 2 js files necessary for loading obj+mtl files: https://github.com/privet56/BunnyAndQloud/blob/master/3d/js/MTLLoader.js https://github.com/privet56/BunnyAndQloud/blob/master/3d/js/OBJLoader.js The demo project in action on Android: http://privet.bplaced.net/temp/BunnyAndQloud.with.Canvas3D.and.OBJMTL.android.png The demo project build for win64 is downloadable on https://github.com/privet56/BunnyAndQloud/releases/tag/v0.0.5 I Would be happy if the extension would be useful! --------- original post:------------- https://forum.qt.io/topic/75626/canvas3d-extension-for-obj-mtl/ ---------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From qtnext at gmail.com Tue Jan 31 22:18:10 2017 From: qtnext at gmail.com (qt next) Date: Tue, 31 Jan 2017 22:18:10 +0100 Subject: [Interest] android deploy issue Message-ID: Hi, I have some android application that was compiling and deploying fine to apk before but now I have the following error : mingw32-make[1]: Leaving directory'xxxl' 22:13:29: Le processus "C:\qt\Qt5.8.0-android\Tools\mingw530_32\bin\mingw32-make.exe" s'est terminé normalement. 22:13:29: No application .pro file found, not building an APK. 22:13:29: Temps écoulé : 00:08 I am using Windows 10 and Qt creator / QT 5.8 for android ... same issue on two differents computers. It's an application (not a lib) and I don't know why I have this issue. it .so compile fine, so it's only an issue with creating the apk. I am a little bit lost :( -------------- next part -------------- An HTML attachment was scrubbed... URL: From crazy.sage at gmail.com Thu Jan 19 07:05:45 2017 From: crazy.sage at gmail.com (Gleb "Crazy Sage" Igumnov) Date: Thu, 19 Jan 2017 06:05:45 -0000 Subject: [Interest] How to pass data to\from GLSL compute shaders in Qt5? Message-ID: <1635678568.20170119105403@gmail.com> Hello. I'm trying to port my program that is using GL compute shaders to Qt and I can't understand, what is correct way to work with buffers. I initialize and use buffers with following code: > QOpenGLBuffer cull_ray_buffer; > QOpenGLBuffer cull_face_buffer; > QOpenGLBuffer cull_out_buffer; > > if(!cull_ray_buffer.create()) > { > qDebug()<<"Can't create cull ray buffer"; > return false; > } > cull_ray_buffer.allocate(border_rays.size()*sizeof(QVector4D));//border_rays_ is QVector of QVector4D > > if(!cull_face_buffer.create()) > { > qDebug()<<"Can't create cull face buffer"; > return false; > } > cull_face_buffer.allocate(faces_.data(), faces_.size()*sizeof(QVector4D));//faces_ is QVector of QVector4D > > if(!cull_out_buffer.create()) > { > qDebug()<<"Can't create cull out buffer"; > return false; > } > cull_out_buffer.allocate(tmp_out.data(), tmp_out.size()*sizeof(int));//tmp_out_ is QVector of int > > ogl->glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 0, cull_ray_buffer.bufferId());//ogl is an instance of QOpenGLFunctions_4_4_Core > ogl->glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, cull_face_buffer.bufferId()); > ogl->glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 2, cull_out_buffer.bufferId()); In my shader I have buffers declared like this: > layout(std430, binding=0) buffer rays{ > vec4 r[]; > }; > > layout(std430, binding=1) buffer faces{ > vec4 f[]; > }; > > layout(std430, binding=2) buffer outputs{ > int o[]; > }; I link shader before creating and binding buffers and then try to get output data by doing one of following things: > int* b = static_cast(cull_out_buffer.map(QOpenGLBuffer::ReadOnly)); or > cull_out_buffer.read(0,tmp_out.data(), tmp_out.size()*sizeof(int)) in first case I'm getting NULL pointer, in second - function returns false. Also I'm not even sure that shader receives input data correctly (and I don't see any way to check it, because it is console gpu-computing project without any actual rendering). Can someone please explain to me, what is correct way of passing data to compute shaders using QOpenGLBuffer (if there is any)? -- With best regards, Gleb "Crazy Sage" Igumnov mailto:crazy.sage at gmail.com --- Это сообщение проверено на вирусы антивирусом Avast. https://www.avast.com/antivirus From tor.arne.vestbo at qt.io Mon Jan 30 14:24:24 2017 From: tor.arne.vestbo at qt.io (=?UTF-8?Q?Tor_Arne_Vestb=c3=b8?=) Date: Mon, 30 Jan 2017 14:24:24 +0100 Subject: [Interest] Qt Lite 5.8 In-Reply-To: References: Message-ID: <7dc59ffa-c079-f20d-569e-dc99cc69be99@qt.io> Hi Marc, I did not say anything about Qt Lite, I replied to a comment about dynamic linking on iOS. tor arne On 30/01/2017 14:20, mark diener wrote: > Tor: > > In the 5.8 release blog, on January 24, 2017 at 14:40, you said: > > "Stay tuned for some more info on this in the coming week." > > The week has almost expired. > > Really want some configure examples to actually realize the benefits of Qt Lite. > > After spending about 4 hours last Friday, I could not figure out how > to build a "Lite" anything. > > The only thing I could build is the full build rocking out at 30 MB on OSX. > > But anytime I tried to "reduce" binary size, the build would fail with > some dependency vomiting errors. > > What I really want is to get IOS and Android build size down according > to Lars compelling build size graph from the blog. > > So we need those minimal samples and some way to navigate the > dependencies without this process > becoming another full time job for us. > > Thanks for any response, > > md >