Re: [Interest] Qml via HTTP
I assume you left out iOS because this kind of feature would violate the apple developer policy? Sent: Tuesday, September 22, 2015 at 9:21 AM From: "Alexey Godko"To: "B. B." Cc: interest@qt-project.org Subject: Re: [Interest] Qml via HTTP I've used this approach, and found many issues too (more related to QML, not to crashes), and finally got it working. But now, I recommend you build resources using rcc tool and simple shell script, so you can update your QML software over http by downloading single file. This approach is much more simple in debug and deployment, works on PC and Android. 2015-09-22 14:59 GMT+03:00 B. B. : Hello, I found this presentation : http://pt.slideshare.net/jeremylaine/serving-qml-applications-over-the-network made by Jeremy Lainé. Its about serving qml to clients by http. Good idea, I tried to implement, but I could not make a stable case. Seems to work fine - in better cases 5 out of 6 times, the 6th time, the client crashed with a errors like - currupted memory ( raised in destructors ) - errors in double linked Lists - crashes with no hint. - etc. I succeeded cut down to an example that always fails for me. The example works fine, if the files are served from the disk. ( see switch in main.cpp ) I have tried with 2 QT sources : release Qt-5.5 prebuild, and alpha Qt-5.6 compiled, the results are comparable. This specific run is on alpha Qt-5.6. Can anyone give me a hint to what I do wrong?? Have anyone successfully made this work for them?? if so, do you have any idea of what I could try next?? Maybe hints on how to debug further ?? A remark: One can see below the "module header" of the qmldir files is missing like : -- module fofo.terminal.b < missing in example MyMain 1.0 MyMain.qml -- If they are present, I get this error : file:http:/127.0.0.1:/fofo/terminal/b.1.0/qmldir:1 only one module identifier directive may be defined in a qmldir file Best Regards and thanks Brian B The example is as follows : 1) the main.cpp file 2) a log from the webserver, shows status of requests ( FOUND vs. NOT FOUND, ( and if found the content of the file sent ) 3) some logs copied from QtCreator. 4) and attached snapshot of QtCreator === 1) main.cpp #include #include #include #include #include #include #include using namespace std; int main(int argc, char *argv[]) { QApplication app(argc, argv); QQmlApplicationEngine engine; bool serveByHttp = true; if ( serveByHttp ) { QString urlWhere = "http://127.0.0.1:"; engine.addImportPath( urlWhere ); QString startFile = QStringLiteral( "/fofo/terminal/a.1.0/Main.qml" ); QString initialQmlFile = urlWhere + startFile; std::cout << "SYSSYS : Initial file : " << initialQmlFile.toStdString() << endl; engine.load(QUrl( initialQmlFile )); }else { QString path = "/home/bb/develop/fofo/fofo.terminal/fofo/terminal/a/Main.qml"; engine.addImportPath( "/home/bb/develop/fofo/fofo.terminal/" ); engine.load( path ); } return app.exec(); } - == 2) webserver log : qml webserver -> b'/fofo/terminal/a.1.0/Main.qml' FOUND - b'/fofo/terminal/a.1.0/Main.qml' -- import QtQuick 2.5 import fofo.terminal.b 1.0 MyMain { id : mainWindow } - qml webserver -> b'/fofo/terminal/a.1.0/qmldir' FOUND - b'/fofo/terminal/a.1.0/qmldir' -- Main 1.0 Main.qml - qml webserver -> b'/fofo/terminal/b.1.0/qmldir' FOUND - b'/fofo/terminal/b.1.0/qmldir' -- MyMain 1.0 MyMain.qml - qml webserver -> b'/fofo/terminal/b.1/qmldir' NOT found qml webserver -> b'/fofo/terminal/b/qmldir' NOT found qml webserver -> b'/fofo/terminal/b.1.0/MyMain.qml' FOUND - b'/fofo/terminal/b.1.0/MyMain.qml' -- import QtQuick 2.4 import QtQuick.Controls 1.2 import fofo.terminal.c 1.0 // Left- and RightPanel ApplicationWindow { id: mainWindow height: 700 width: 1200 title: "test.." visible: true toolBar: ToolBar{ id: toolBar } statusBar: StatusBar { id: statusbar } Rectangle { id: mainView anchors.fill: parent } RightPanel { id: rightPanel height: parent.height x: parent.x + parent.width - 1/3*width width: Math.min( 250 , parent.width / 2 ) color: "pink" } LeftPanel { id: leftPanel height: mainView.height width: Math.min( 250 , mainView.width / 2 ) x: mainView.x - 2 * width / 3 color: "blue" } }
[Interest] Caching Painter Rendering
Dear all, we are currently using a QPixmap as a rendering cache for painting. I.e. paint once to a QPixmap, cache it and paint the QPixmap when required instead of performing the actual paint operations. In addition to the cached images we paint some elements directly. We have currently some issues with high-resolution displays and UI scaling by the OS. Well, probably we can sort this out. However in that context, the following question arose: What is the correct caching strategy for painting? Caching the data as QImage, QPixmap or QPicture? Additionally, are there any examples how to correctly implement this with high-resolution displays / UI scaling by the OS? Thanks in advance, Tim ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qml via HTTP
Thanks for notice, Thiago. Of course. 2015-09-22 20:03 GMT+03:00 Thiago Macieira: > On Tuesday 22 September 2015 16:21:44 Alexey Godko wrote: > > so you can update your QML software over http by downloading single > > file. This approach is much more simple in debug and deployment, works on > > PC and Android. > > Make sure you're using https and that you check your server's identity > before > executing any such files. > > DO NOT use unencrypted, DO NOT ignore SSL errors. > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qml via HTTP
On Tuesday 22 September 2015 16:21:44 Alexey Godko wrote: > so you can update your QML software over http by downloading single > file. This approach is much more simple in debug and deployment, works on > PC and Android. Make sure you're using https and that you check your server's identity before executing any such files. DO NOT use unencrypted, DO NOT ignore SSL errors. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Compiling Qt 5.6.0 alpha with VS 2015 amd64
On Tuesday 22 September 2015 11:32:02 Michael Sué wrote: > error C2039: 'NaNEncodeMask': is not a member of 'QV4::Value' (compiling > source file jit\qv4assembler.cpp) NaNEncodeMask is a member of QV4::Value. The compiler is wrong. You're probably mixing Qt 5.5 and 5.6 headers. Another possibility is that your qconfig.h does not have: #define QT_POINTER_SIZE 8 Please check. If it doesn't, rerun configure. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] focus-follows-mouse
Is it possible to implement focus-follows-mouse behaviour (in a terminal emulator, for instance) that does *not* raise the focused window? thanks, René ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] geometry() for a widget that hasn't been shown
Thanks, Jan. I thought the same thing, but it didn't help. I even called EnsurePolished() first, having seen such things in the Qt source. But it appears that adjustSize() adjusts child widgets for the current window geometry, and doesn't try to determine an accurate window geometry first. The fundamental problem is that Qt puts off creating the native window representation (NSWindow or NSView or HWND, etc.) until it is first shown. So until then, there is nothing to measure. But it does seem as though the cached geometry could be used to return an accurate value. I guess its JIRA bug time... -John Weeks > On Sep 22, 2015, at 4:31 AM, Jan Dasselaarwrote: > > Maybe the QWidget::adjustSize() function is what you are looking for. > I think after calling adjustSize() the geometry() function should give a > up to date result. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] It is happening again.
Fellow Qt Enthusiasts: It is happening again. I have a client server/app which uses Qt for the socket communication. Occasionally it gets sick. When it is sick: 1 - It takes multiple attempts for a client to connect to the server. The connection attempts fail with: *ERROR*, server communication error: RemoteHostClosedError. After several attempts it works. The sicker it gets the more attempts it takes to connect. 2 - During these periods, the invalid SYN cookies number on the server steadily rises: >netstat -ts | grep SYN 302658 invalid SYN cookies received<--- >netstat -ts | grep SYN 302745 invalid SYN cookies received<--- 3 - If I restart the server process, all is well for a while. 4 - This is not something which can be reproduced on demand. 5 - The server machine is not heavily loaded during these times. The server image size is 275 Mb. It has 61 files open. The 1-min load average is 0.32 The server has been running for 11 days. The system is built with Qt-4.8.6, but I have no evidence that this problem is related to the use of Qt. It is running on RHEL 6.6 Any suggestions would be greatly appreciated. Thanks. Bill ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qml via HTTP
Thanks all for all the input! Especially thanks to Alexey, because I ended up using your recommendations. Using the resource tool, I build resources of the qml-files - and send them to the client. The client then just install them. Everything is exactly after the docs, and everything just works as expected - no bad surprices... Really nice, Thanks Brian On Tue, Sep 22, 2015 at 2:09 PM, Alexey Godkowrote: > Thanks for notice, Thiago. Of course. > > 2015-09-22 20:03 GMT+03:00 Thiago Macieira : > >> On Tuesday 22 September 2015 16:21:44 Alexey Godko wrote: >> > so you can update your QML software over http by downloading single >> > file. This approach is much more simple in debug and deployment, works >> on >> > PC and Android. >> >> Make sure you're using https and that you check your server's identity >> before >> executing any such files. >> >> DO NOT use unencrypted, DO NOT ignore SSL errors. >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> ___ >> Interest mailing list >> Interest@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] High DPI support in QT (Windows)
Hi Pavlo, Some pointers that may be helpful: Set in your Qt application: Qt::AA_UseHighDpiPixmaps Further use a Poor Man's Test: http://blog.davidedmundson.co.uk/blog/kde_apps_high_dpi But keep in mind the below procedure, To return back from Hi-DPI on a regular screen where you cannot see the below part of the DPI Scaling Screen, As long as you can get to the DPI Scaling Screen, you can use TAB to navigate the selection. First of all click on the “Default scale (96 DPI)”. Here is the fun part. Press Shift key and then Tab key. This would position you to the “How do I know which DPI to choose?” button. Then you press Tab key 3 times. This would take you to the invisible “OK” button. Then a screen would pop up to ask you to restart your Windows. Press Enter to reboot your Windows. Take care. Regards, Robert On Fri, Sep 18, 2015 at 11:38 AM, Pavlo Dyachenkowrote: > Hi QT team, I posted a question on the forum about high DPI support but then > was recommended this mailing list instead: > According to documentation here http://doc.qt.io/qt-5/highdpi.html QT 5.4+ > introduces high DPI support. However, either I’m missing something > fundamental or the current support is still in very early stages. I’m > writing a brand new application so I have a chance to do it right from the > ground up. I understand that I would have to use layouts instead of fixed > positioning etc, but there always going to be cases in which I would have to > specify, for example a minimum/maximum size of a control. I can specify them > in the editor, but these are device pixels. So if I change my Windows > settings to use 150% DPI then min/max values in the editor would be too > small. Of course I can obtain that ratio and adjust all the required values > in code, but then what kind of high DPI support does QT give for me if I > have to do everything by hand? I mean how is it different to pre QT 5.4? > > Then an interesting one is QT_DEVICE_PIXEL_RATIO environment variable. It > does exactly what I need, it multiplies all pixels set in editor by a > factor. But why is it an environment variable and not a per application > setting? Why does it only support integer values of 2, 3 etc, since we know > that Windows has settings like 125, 150% etc. and why couldn’t it > automatically read the Windows setting and set itself to that value? > > Thanks in advance. > Pavlo > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Compiling Qt 5.6.0 alpha with VS 2015 amd64
Hi, I get the following error: c:\qt\qt-everywhere-enterprise-src-5.6.0-alpha\qtdeclarative\src\qml\jit\qv4assembler_p.h(561): error C2039: 'NaNEncodeMask': is not a member of 'QV4::Value' (compiling source file jit\qv4assembler.cpp) c:\qt\qt-everywhere-enterprise-src-5.6.0-alpha\qtdeclarative\include\qtqml\5.6.0\qtqml\private\../../../../../src/qml/jsruntime/qv4value_p.h(61): note: see declaration of 'QV4::Value' (compiling source file jit\qv4assembler.cpp) c:\qt\qt-everywhere-enterprise-src-5.6.0-alpha\qtdeclarative\src\qml\jit\qv4assembler_p.h(561): error C2065: 'NaNEncodeMask': undeclared identifier (compiling source file jit\qv4assembler.cpp) I used: configure.bat -prefix C:\Qt\5.6.0.vs2015 -no-openssl -commercial -no-icu -opengl dynamic -platform win32-msvc2015 -mp -nomake tests -compile-examples What can I do? Best, Michael. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
If you are using a docker container, why use the installer at all. Create a docker image with the binaries already in the search path. You can figure out the dependencies and paths using "nm" utility in linux. So if you problem is docker image prep, that should be a no-brainer. But if you want to somehow "install" to a docker image, they why use docker at all, just install to the native operating system and skip using the convenience of the docker isolated packaging. On 9/22/2015 7:32 AM, Andreas Cord-Landwehr wrote: > On Tuesday 22 September 2015 07:19:33 m...@rpzdesign.com wrote: >> Yes, write a bash script. > > Sorry, but I do not get your point. > > Actually, I am already writing a bash script but the problem is that I do not > see a way to extract the precompiled binaries from the Qt for Android > installer without opening a GUI window. The problem is that there is no > documented --no-gui option or similar. > > Cheers, > Andreas > -- No spell checkers were harmed during the creation of this message. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
On Tuesday 22 September 2015 07:19:33 m...@rpzdesign.com wrote: > Yes, write a bash script. Sorry, but I do not get your point. Actually, I am already writing a bash script but the problem is that I do not see a way to extract the precompiled binaries from the Qt for Android installer without opening a GUI window. The problem is that there is no documented --no-gui option or similar. Cheers, Andreas ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
2015-09-22 15:32 GMT+02:00 Andreas Cord-Landwehr: > On Tuesday 22 September 2015 07:19:33 m...@rpzdesign.com wrote: >> Yes, write a bash script. > > Sorry, but I do not get your point. > > Actually, I am already writing a bash script but the problem is that I do not > see a way to extract the precompiled binaries from the Qt for Android > installer without opening a GUI window. The problem is that there is no > documented --no-gui option or similar. I don't know of such a switch either. Since the installer was produced by QtIFW 2.x, I think you should be able to script it (using .qs script and the installer framework scripting API), and also pass -platform minimal to the installer to avoid requiring a GUI. I'm not sure how to do that though, since the installer has some custom pages that would need to be "clicked" past. A switch that does all that for you would of course be best. BTW, I can't find the QtIFW scripts that are used for the official Qt installers, anyone know if they are hosted somewhere publicly? Elvis PS. To Andreas: Sorry for replying to you privately first. Was a mistake. DS. > > Cheers, > Andreas > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
2015-09-22 14:38 GMT+02:00 Andreas Cord-Landwehr: > Hi, I am searching for a way to install the Qt for Android binaries on a Linux > host system without any GUI interaction. (use case: generation of a Docker > image for a crossbuilder environment for Qt applications). > > For now, I looked into the Qt Installer (both offline and online installer), > but both do not offer any option to change to a console-only mode. So, my > question is: what is the recommended way to install these binaries in a > console-only way? Hi, the Dockerfile on https://github.com/rabits/dockerfiles/blob/qt-android/Dockerfile should be a good start (disclaimer: I only tested the desktop variant of this Dockerfile). But it only works for Qt up to version 5.4 (see: https://bugreports.qt.io/browse/QTIFW-734). -- Regards Samuel ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QApplication fails to start on release mode when using Qt as a backend of a plugin (Windows)
Hi, On QTBUG-48335 bug report Friedmann Kleint suggests to try with Qt 5.5.1 or 5.6 beta. I decided to give it a try with Qt 5.6 Alpha I have downloaded Qt 5.6 alpha and compiled it from source statically. Building the plugin gives me the followin errors. It used to compile on Qt 5.5. Does anyone knows how to sort this ones out? Qt5Guid.lib(qevent.obj) : error LNK2005: "public: virtual __thiscall QInputMethodEvent::~QInputMethodEvent(void)" (??1QInputMethodEvent@@UAE@XZ) already defined in qwindowsd.lib(qwindowsinputcontext.obj) Creating library debug\drc.lib and object debug\drc.exp qmldbg_tcpd.lib(qtcpserverconnection.obj) : error LNK2019: unresolved external symbol "public: void __thiscall QQmlDebugServer::receiveMessage(class QByteArray const &)" (?receiveMessage@QQmlDebugServer@@QAEXABVQByteArray@@@Z) referenced in function "private: void __thiscall QTcpServerConnection::readyRead(void)" (?readyRead@QTcpServerConnection@@AAEXXZ) qwindowsd.lib(qwindowsintegration.obj) : error LNK2001: unresolved external symbol "public: virtual class QStringList __thiscall QBasicFontDatabase::fallbacksForFamily(class QString const &,enum QFont::Style,enum QFont::StyleHint,enum QChar::Script)const " (?fallbacksForFamily@QBasicFontDatabase@@UBE?AVQStringList@@ABVQString@@W4Style@QFont@@W4StyleHint@5@W4Script@QChar@@@Z) qwindowsd.lib(qwindowswindow.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl QWindowSystemInterface::flushWindowSystemEvents(class QFlagsQEventLoop::ProcessEventsFlag>)" (?flushWindowSystemEvents@QWindowSystemInterface@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@Z) referenced in function "public: bool __thiscall QWindowsWindow::handleWmPaint(struct HWND__ *,unsigned int,unsigned int,long)" (?handleWmPaint@QWindowsWindow@@QAE_NPAUHWND__@@IIJ@Z) qwindowsd.lib(qwindowsscreen.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl QWindowSystemInterface::flushWindowSystemEvents(class QFlagsQEventLoop::ProcessEventsFlag>)" (?flushWindowSystemEvents@QWindowSystemInterface@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@Z) qwindowsd.lib(qwindowsfontengine.obj) : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl QFontEngine::getTrueTypeGlyphIndex(unsigned char const *,unsigned int)" (?getTrueTypeGlyphIndex@QFontEngine@@SAIPBEI@Z) referenced in function "public: virtual unsigned int __thiscall QWindowsFontEngine::glyphIndex(unsigned int)const " (?glyphIndex@QWindowsFontEngine@@UBEII@Z) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlDebugServerFactory(void)" (?qt_static_plugin_QQmlDebugServerFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlDebugServerFactoryPluginInstance::StaticQQmlDebugServerFactoryPluginInstance(void)" (??0StaticQQmlDebugServerFactoryPluginInstance@@QAE@XZ) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlInspectorServiceFactory(void)" (?qt_static_plugin_QQmlInspectorServiceFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlInspectorServiceFactoryPluginInstance::StaticQQmlInspectorServiceFactoryPluginInstance(void)" (??0StaticQQmlInspectorServiceFactoryPluginInstance@@QAE@XZ) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlProfilerServiceFactory(void)" (?qt_static_plugin_QQmlProfilerServiceFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlProfilerServiceFactoryPluginInstance::StaticQQmlProfilerServiceFactoryPluginInstance(void)" (??0StaticQQmlProfilerServiceFactoryPluginInstance@@QAE@XZ) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlDebuggerServiceFactory(void)" (?qt_static_plugin_QQmlDebuggerServiceFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlDebuggerServiceFactoryPluginInstance::StaticQQmlDebuggerServiceFactoryPluginInstance(void)" (??0StaticQQmlDebuggerServiceFactoryPluginInstance@@QAE@XZ) debug\drc.dll : fatal error LNK1120: 8 unresolved externals Thx, Nuno On 17/09/2015 19:44, Nuno Santos wrote: Thiago, I tried to describe it the best I could: https://bugreports.qt.io/browse/QTBUG-48335 Thanks, Regards, Nuno On 17/09/2015 17:24, Thiago Macieira wrote: On Thursday 17 September 2015 13:42:41 Nuno Santos wrote: Hi, I have seen this bug report. The funny thing is that it says it is resolved on Qt 5.5.0 I'm using Qt 5.5.0 What am I missing? Some detail. Apparently the bug fix was not enough for your case. The fix assumed that qtmain was used, but the main() function fiddled with the arguments. Your case
Re: [Interest] geometry() for a widget that hasn't been shown
Hello John, Maybe the QWidget::adjustSize() function is what you are looking for. I think after calling adjustSize() the geometry() function should give a up to date result. Hth, Jan On 21-9-2015 19:33, John Weeks wrote: > If this is a repeat, my apologies. I can't tell if I saw this arrive on the > list! > > > > In general a QWidget that hasn't been made visible yet gives bogus results > for QWidget::geometry(). Qt only guarantees that a call to setGeometry() will > result in a Resize event when the window is made visible. But we often need > to ask a window or child widget how big it is before it is made visible in > order to do various kinds of calculations. These calculations are sometimes > used for things that preclude waiting for the window to become visible. > > Is there a way to force the Resize events (and all the layout calculation > machinery that goes with it) before it is visible? Using Qt 5.5, I see that > if you call QWidget::grab(), it will call a static function > sendResizeEvents() that does exactly what I want: > > QPixmap QWidget::grab(const QRect ) > { > Q_D(QWidget); > if (testAttribute(Qt::WA_PendingResizeEvent) || > !testAttribute(Qt::WA_WState_Created)) > sendResizeEvents(this); > > Is there some other way to get this to happen? I suppose I could just call > grab() and throw away the QPixmap, but that seems like an awful kludge... > > -John Weeks > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
2015-09-22 16:08 GMT+02:00 Andreas Cord-Landwehr: > On Tuesday 22 September 2015 15:58:42 Elvis Stansvik wrote: >> If I understood him right, he wants to make a Dockerfile that creates >> a Docker image from scratch (i.e. something that anyone could use, and >> which could be automated), not just create an image (in which case he >> could of course do as you suggest, manually click through the >> installer inside the running image). > > Yes, that exactly is the intent. An automated and reproducible way to build an > image. Sorry for maybe mixing the "build" and "create" Docker vocabulary. Okay. Then if we could just find the .ui and QtIFW scripts for the official installer (to see the names of the custom pages and UI elements), I think it should be possible to script an unattended installation in a .qs controller script (and pass --script to the installer). Anyone know where the code for the official Qt installers are hosted? Elvis > > Cheers, > Andreas > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Qt 5.6 Alpha (static build) - ButtonStyle is not a type
Hi, Today I have given a try to Qt 5.6 Alpha. So far so good. I was having two major issues: QTBUG-48335 - QApplication fails to start on release mode when using Qt as a backend of a plugin (Windows) QTBUG-35754 - QtQuick and QtQuick.Controls modules are not available at runtime static Both seem to be fixed on Qt 5.6 Alpha which is awesome! However, my worries aren't finished yet. It is still complaining about not finding ButtonStyle type. I'm manually registering the plugins with the following code: qobject_cast(qt_static_plugin_QtQuick2Plugin().instance())->registerTypes("QtQuick"); qobject_cast (qt_static_plugin_QtQuick2WindowPlugin().instance())->registerTypes("QtQuick.Window"); qobject_cast (qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls"); qobject_cast (qt_static_plugin_QtQuickExtrasPlugin().instance())->registerTypes("QtQuick.Extras"); qobject_cast (qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls.Styles"); qobject_cast (qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls.Private"); ButtonStyle is included in QtQuick/Controls/Styles/Base/ButtonStyle.qml isn't the qobject_cast (qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls.Styles"); call enough? Am I missing some particular initialization or is this still a bug? Any ideas? Thanks, Regards, Nuno ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
Yes, write a bash script. On 9/22/2015 6:38 AM, Andreas Cord-Landwehr wrote: > Hi, I am searching for a way to install the Qt for Android binaries on a Linux > host system without any GUI interaction. (use case: generation of a Docker > image for a crossbuilder environment for Qt applications). > > For now, I looked into the Qt Installer (both offline and online installer), > but both do not offer any option to change to a console-only mode. So, my > question is: what is the recommended way to install these binaries in a > console-only way? > > Cheers, > Andreas > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- No spell checkers were harmed during the creation of this message. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Installing Qt for Android Binaries without GUI
Hi, I am searching for a way to install the Qt for Android binaries on a Linux host system without any GUI interaction. (use case: generation of a Docker image for a crossbuilder environment for Qt applications). For now, I looked into the Qt Installer (both offline and online installer), but both do not offer any option to change to a console-only mode. So, my question is: what is the recommended way to install these binaries in a console-only way? Cheers, Andreas ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QApplication fails to start on release mode when using Qt as a backend of a plugin (Windows)
Forget my last email. I was trying to link with 5.5 libs. This problem is solved on 5.6 alpha! On 22/09/2015 14:52, Nuno Santos wrote: Hi, On QTBUG-48335 bug report Friedmann Kleint suggests to try with Qt 5.5.1 or 5.6 beta. I decided to give it a try with Qt 5.6 Alpha I have downloaded Qt 5.6 alpha and compiled it from source statically. Building the plugin gives me the followin errors. It used to compile on Qt 5.5. Does anyone knows how to sort this ones out? Qt5Guid.lib(qevent.obj) : error LNK2005: "public: virtual __thiscall QInputMethodEvent::~QInputMethodEvent(void)" (??1QInputMethodEvent@@UAE@XZ) already defined in qwindowsd.lib(qwindowsinputcontext.obj) Creating library debug\drc.lib and object debug\drc.exp qmldbg_tcpd.lib(qtcpserverconnection.obj) : error LNK2019: unresolved external symbol "public: void __thiscall QQmlDebugServer::receiveMessage(class QByteArray const &)" (?receiveMessage@QQmlDebugServer@@QAEXABVQByteArray@@@Z) referenced in function "private: void __thiscall QTcpServerConnection::readyRead(void)" (?readyRead@QTcpServerConnection@@AAEXXZ) qwindowsd.lib(qwindowsintegration.obj) : error LNK2001: unresolved external symbol "public: virtual class QStringList __thiscall QBasicFontDatabase::fallbacksForFamily(class QString const &,enum QFont::Style,enum QFont::StyleHint,enum QChar::Script)const " (?fallbacksForFamily@QBasicFontDatabase@@UBE?AVQStringList@@ABVQString@@W4Style@QFont@@W4StyleHint@5@W4Script@QChar@@@Z) qwindowsd.lib(qwindowswindow.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl QWindowSystemInterface::flushWindowSystemEvents(class QFlagsQEventLoop::ProcessEventsFlag>)" (?flushWindowSystemEvents@QWindowSystemInterface@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@Z) referenced in function "public: bool __thiscall QWindowsWindow::handleWmPaint(struct HWND__ *,unsigned int,unsigned int,long)" (?handleWmPaint@QWindowsWindow@@QAE_NPAUHWND__@@IIJ@Z) qwindowsd.lib(qwindowsscreen.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl QWindowSystemInterface::flushWindowSystemEvents(class QFlagsQEventLoop::ProcessEventsFlag>)" (?flushWindowSystemEvents@QWindowSystemInterface@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@Z) qwindowsd.lib(qwindowsfontengine.obj) : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl QFontEngine::getTrueTypeGlyphIndex(unsigned char const *,unsigned int)" (?getTrueTypeGlyphIndex@QFontEngine@@SAIPBEI@Z) referenced in function "public: virtual unsigned int __thiscall QWindowsFontEngine::glyphIndex(unsigned int)const " (?glyphIndex@QWindowsFontEngine@@UBEII@Z) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlDebugServerFactory(void)" (?qt_static_plugin_QQmlDebugServerFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlDebugServerFactoryPluginInstance::StaticQQmlDebugServerFactoryPluginInstance(void)" (??0StaticQQmlDebugServerFactoryPluginInstance@@QAE@XZ) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlInspectorServiceFactory(void)" (?qt_static_plugin_QQmlInspectorServiceFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlInspectorServiceFactoryPluginInstance::StaticQQmlInspectorServiceFactoryPluginInstance(void)" (??0StaticQQmlInspectorServiceFactoryPluginInstance@@QAE@XZ) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlProfilerServiceFactory(void)" (?qt_static_plugin_QQmlProfilerServiceFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlProfilerServiceFactoryPluginInstance::StaticQQmlProfilerServiceFactoryPluginInstance(void)" (??0StaticQQmlProfilerServiceFactoryPluginInstance@@QAE@XZ) Qt5Qmld.lib(qqmldebugconnector.obj) : error LNK2019: unresolved external symbol "struct QStaticPlugin const __cdecl qt_static_plugin_QQmlDebuggerServiceFactory(void)" (?qt_static_plugin_QQmlDebuggerServiceFactory@@YA?BUQStaticPlugin@@XZ) referenced in function "public: __thiscall StaticQQmlDebuggerServiceFactoryPluginInstance::StaticQQmlDebuggerServiceFactoryPluginInstance(void)" (??0StaticQQmlDebuggerServiceFactoryPluginInstance@@QAE@XZ) debug\drc.dll : fatal error LNK1120: 8 unresolved externals Thx, Nuno On 17/09/2015 19:44, Nuno Santos wrote: Thiago, I tried to describe it the best I could: https://bugreports.qt.io/browse/QTBUG-48335 Thanks, Regards, Nuno On 17/09/2015 17:24, Thiago Macieira wrote: On Thursday 17 September 2015 13:42:41 Nuno Santos wrote: Hi, I have seen this bug report. The funny thing is that it says it is resolved on Qt 5.5.0 I'm using Qt 5.5.0 What am I missing? Some detail. Apparently the
Re: [Interest] Installing Qt for Android Binaries without GUI
2015-09-22 15:43 GMT+02:00 m...@rpzdesign.com: > If you are using a docker container, why use the installer at all. > > Create a docker image with the binaries already in the search path. > > You can figure out the dependencies and paths using "nm" utility in linux. > > So if you problem is docker image prep, that should be a no-brainer. > > But if you want to somehow "install" to a docker image, they why use > docker at all, just install to the native operating system and skip > using the convenience of the docker isolated packaging. If I understood him right, he wants to make a Dockerfile that creates a Docker image from scratch (i.e. something that anyone could use, and which could be automated), not just create an image (in which case he could of course do as you suggest, manually click through the installer inside the running image). Elvis > > > > > > On 9/22/2015 7:32 AM, Andreas Cord-Landwehr wrote: >> On Tuesday 22 September 2015 07:19:33 m...@rpzdesign.com wrote: >>> Yes, write a bash script. >> >> Sorry, but I do not get your point. >> >> Actually, I am already writing a bash script but the problem is that I do not >> see a way to extract the precompiled binaries from the Qt for Android >> installer without opening a GUI window. The problem is that there is no >> documented --no-gui option or similar. >> >> Cheers, >> Andreas >> > > -- > No spell checkers were harmed during the creation of this message. > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Installing Qt for Android Binaries without GUI
On Tuesday 22 September 2015 15:58:42 Elvis Stansvik wrote: > If I understood him right, he wants to make a Dockerfile that creates > a Docker image from scratch (i.e. something that anyone could use, and > which could be automated), not just create an image (in which case he > could of course do as you suggest, manually click through the > installer inside the running image). Yes, that exactly is the intent. An automated and reproducible way to build an image. Sorry for maybe mixing the "build" and "create" Docker vocabulary. Cheers, Andreas ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Qt qml plugins don't have .pri under mkspecs/modules while other plugins have (static build of Qt)
Hi, I wonder why there are no .pri for the qml related plugins under mkspecs/modules. For examples, every lib created under plugins has the respective .pri: qwindows qmldbg_debugger qmldbg_inspector qmldbg_profiler qmldbg_server qmldbg_local qmldbg_tcp And so on... And you can simply write on your .pro: QTPLUGIN += qmldbg_debugger qmldbg_inspector qmldbg_profiler qmldbg_server qmldbg_local qmldbg_tcp It will link with the respective lib. However, it doesn't possible to follow the same strategy with qml plugins. To link with qml plugins I need to explicit refer the library name and path: CONFIG(debug, debug|release) { LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick.2 qtquick2plugind.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Window.2 windowplugind.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Controls qtquickcontrolsplugind.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Layouts qquicklayoutsplugind.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Extras qtquickextrasplugind.lib } else { LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick.2 qtquick2plugin.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Window.2 windowplugin.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Controls qtquickcontrolsplugin.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Layouts qquicklayoutsplugin.lib LIBS += -LC:\Qt\5.6\msvc2013_opengl_x86_static\qml\QtQuick\Extras qtquickextrasplugin.lib } My environment is a static build of Qt. Is this normal or is a bug? Regards, Nuno ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Menu in Mac
Hi. I have an application that when run in Linux and Windows shows the main window with all the menus correctly on startup. However, in Mac, the main window shows up and grabs the desktop focus as normal, but the menu bar (mac's menu bar) is not changed and remains the previous one until I focus (e.g., Cmd+Tab) on other application and go back (e.g., again Cmd+Tab). Then everything behaves normal. I have tried a ton of things without success and still I don't manage to understand what the problem is. I have tried to force all sorts of refresh events I have been able to imagine without success. Is there any dark trick to be applied here? Qt version is currently 5.5. But I have seen it in all the previous ones I've tried. So, the problem is in my code but... where or what is it? Thanks! ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest