Help regarding QRemoteObject.
-
Hello,
I am using Qt C++ (Qt 5.12.3 version) for windows platform. I have developed an application which which renders on desktop. The same application I want to open in browser to view in web mode. I came to know regarding QRemoteObject which renders the application on desktop and web. I tried to seek some help regarding the same but unable to find it. Can anyone provide some help or a sample script on how to use this QRemoteObject?
Thankyou,
-
Hi,
Thanks a lot for reply.I think it could be possible to achieve the same with the combination of WebGL+QRemoteObject as mentioned in the below link-
https://www.develer.com/en/interact-with-a-qt-ui-from-any-browser/I have tried to achieve the same with the help of below example link but I am unable to connect source replica signal currStateChanged() with client's recSwitchState() slot to receive source's current state. Whenever I run the same example application, then this "QObject::connect: No such signal SimpleSwitch::currStateChanged()" error message is appear in the console.
https://doc.qt.io/qt-5/remoteobjects-example-dynamic-replica.html
Kindly find the code section where I got the signal & slot connection error.
// Function to initialize connections between slots and signals void DynamicClient::initConnection_slot() { // connect source replica signal currStateChanged() with client's recSwitchState() slot to receive source's current state bool b1 = QObject::connect(reptr.data(), SIGNAL(currStateChanged()), this, SLOT(recSwitchState_slot())); // connect client's echoSwitchState(..) signal with replica's server_slot(..) to echo back received state bool b2 = QObject::connect(this, SIGNAL(echoSwitchState(bool)),reptr.data(), SLOT(server_slot(bool))); }
If any more reference regarding the same, then kindly share.
Thanks,
Pradson -
Hi,
Aren't you looking for Qt for WebAssembly ?
-
Hi,
Thanks for reply.I am trying to interact with a Qt UI from any browser, for this I have tried the combination of WebGL+QRemoteObject as explained in the below link but I am facing runtime signal slot connection error as explained in the previous query. Do u have any idea regarding the same please share.
https://www.develer.com/en/interact-with-a-qt-ui-from-any-browser/Regarding Qt for WebAssembly -
I need to describe some information regarding my product first. I am using C++/Qt5.12.3 and VisualStudio2017 compiler to build my product. I have used Qt widgets for UI as well.
Now I have few questions regarding Qt for WebAssembly-- Is Qt for WebAssembly capable to render Qtwidgets UI into web browser. If it is capable then with which version of Qt and VisualStudio complier?
- Could I adopt it with my existing versions of the product (C++/Qt5.12.3 and VS2017 compiler)?
- I have to go with VisualStudio Compiler. Can I adapt it easily with VS compiler?
- Could you share me a sample example application code step by step of Qt for WebAssembly ( using C++/Qt widgets UI with VS compiler)?
Thankyou,
Pradson -
@SGaist
HiThanks a lot for prompt reply.
Please correct me-
I can not use the compiled binary of a Qt/C++ widgets application using VisualStudio Compiler for the Qt For WebAssembly ??? I think MinWG is supported for the same?Is any road map plan to provide support for Visual Studio Compiler for the Qt For WebAssembly?
Thankyou,
Pradson -
@Pradson said in Help regarding QRemoteObject.:
I can not use the compiled binary of a Qt/C++ widgets application using VisualStudio Compiler for the Qt For WebAssembly ?
You can't.
As explained in https://doc.qt.io/qt-5/wasm.html you need emscripten as toolchain/compiler.
Whether Visual Studio Compiler will support WebAssembly in future is something you need to ask Microsoft. -
Hi,
Thanks for reply.As you have shared me the link a saw about MinGW -
On Windows, make sure you have MinGW as well as sed in your PATHMy simple question was can I replace MinGW from VisualStudio to achieve the same?
(Or)
The Emscripten is enough for building Qt application and generating files for web?Thanks & Regards,
Pradson -
@Pradson said in Help regarding QRemoteObject.:
My simple question was can I replace MinGW from VisualStudio to achieve the same?
I don't understand this question. Visual Studio does not have MinGW as far as I know.
MinGW is only needed if you want to build Qt by yourself. But do you want to do so? You can simply install prebuild Qt using Qt Online Installer. -
@jsulm
Hi,Could you explain me the steps along with software required for the below mentioned case so that I could achieve the same?
I have created a calculator UI application in Qt Designer using Qt Widgets/C++. This calculator program is capable to run on desktop. How could I render it into web browser?
Thanks,
Pradson -
- Install emscripten
- Install Qt for WebAssembly (using Qt Online Installer or Qt Maintenance Tool)
- Open your project in QtCreator
- Build your project in QtCreator using the Kit for WebAssembly (this Kit is the one using emscripten as compiler and Qt for WebAssembly)
-
Hi,
Thanks a lot for reply.I had installed Qt version "qt-enterprise-windows-x86-5.15.10" . It is offline installer. I can not go with MinGW, as I had told you earlier. I will have to prefer VisualStudio compiler (MSVC) because my current product is based on MSVC.
I would like to explain my requirement once again-
I have a product which is based on Qt5.15/C++. I am using MSVC binaries of Qt5.15. This means I have build my product using VisualStudio Compiler (MSVC). My product has QtWidgets UIs as well and I have to visualize those UIs in both desktop as well as in web. Is it possible using Qt for WebAssembly ? Is there any other method available?**Please Note: ** I have to go with MSVC compiler.
Thanks,
-
@Pradson If it is offline installer you will need to download offline installer for WebAssembly or use online installer. As commercial user you can also ask Qt Company for support.
I did not suggest to use MinGW, it was just an example for what you usually see in the maintenance tool... -
Hi,
As suggested, I have installed Qt5.15.10(MSVC2017 binaries) with all necessary packages including WebAssembly using online installer. I have create a sample QWidget UI application named "CalculatorOnWeb" and I am able to build successfully using the kit Qt 5.15.10 (msvc2019_64) . But when I select kit WebAssembly Qt 5.15.10, then getting errors-
Could not start process "mingw32-make.exe" -f C:/SE_CODE/Qt_related/QtForWebAssembly/CalculatorOnWeb/Makefile qmake_all. Error while building/deploying project CalculatorOnWeb (kit: WebAssembly Qt 5.15.10) When executing step "qmake"
Even when I tries to clean this project, then getting this error-
Could not start process "mingw32-make.exe" clean -j16. Error while building/deploying project CalculatorOnWeb (kit: WebAssembly Qt 5.15.10) When executing step "Make"
I have attached a screenshot herewith related to configuration of WebAssembly.
It is asking for MinGW and I can not go with MinGW as I had told you earlier. Please suggest about these errors.Thanks,
Pradson -
@Pradson I don't use WebAssembly, so not sure. But it looks like for WebAssembly MinGW tool chain is used. So, try to install it via Qt Maintenance Tool. msvc2019_64 Qt has nothing to do with Qt for WebAssembly, it is for native Windows builds.
-
Hi,
Thanks for prompt reply.How will I install the WebAssembly MSVC tool chain ? I am unable to find the proper package from online installer. I am sharing the screenshot of MaintenanceTool. Please suggest which package is required to install.
Thanks,
Pradson -
@Pradson I don't think there is such a thing as "WebAssembly MSVC tool chain". WebAssembly uses Enscrypten as compiler as far as I know, not MS VC++. SO, again: try to install MinGW (I mean only the tool chain not Qt for MinGW).
Please take a look at https://doc.qt.io/qt-5/wasm.html