Qt Desktop Application with Metro Style
-
Hi all,
I am a beginner of Qt.
I want to create a Desktop Application that can run on Mac, Windows and Linux. And I want to make it Metro Style.
I want to know is it possible using Qt? It will be great if you can give any suggestions/demos/tutorials.
Thanks very much.
FYI, I am making some 3d visualization tool using OpenGl.
-
[quote author="stevewang" date="1390881391"]Hi all,
I want to create a Desktop Application that can run on Mac, Windows and Linux. And I want to make it Metro Style.
[/quote]I'm afraid these requirements contradict each other. Yes, you can use Qt to make applications that run on Mac, Windows, and Linux of course (in fact, they do so "out of the box"). Yes, you can make them look like "modern Windows metro style" programs, e.g. by using QML and/or QtQuick.
However, true Metro apps use the new windows API (called WinRT), and are deployed via the Windows store or via app packages. So this is Windows only.
Qt doesn't officially support WinRT apps yet, but when you grep the dev-version (Qt 5.3 alpha), you can try to build a true Metro-style app on your own. See http://qt-project.org/wiki/WinRTBuild and http://qt-project.org/wiki/WinRT_TP1_deployment and http://blog.qt.digia.com/blog/2013/06/14/introduction-to-windows-rt-frameworks/ ...
-
[quote author="stevewang" date="1390881391"]I want to create a Desktop Application that can run on Mac, Windows and Linux. And I want to make it Metro Style.[/quote]
What kind of application would you like to create ? Do you have a vision of what you want to do, are you just looking for a support to begin a project ?
-
Hi LinusA,
Thanks for your answer.
My question is exactly about the "looking" of the Application. I just want it to make it look like Metro.
One more question. If I use Qt Quick/QML, is there anything I cannot use from the Qt Desktop Application framework? Am I able to use UI objects like QGLWidgets, QDialog, QProgressBar, etc.? Thanks.
[quote author="LinusA" date="1390920305"]
[quote author="stevewang" date="1390881391"]Hi all,
I want to create a Desktop Application that can run on Mac, Windows and Linux. And I want to make it Metro Style.
[/quote]I'm afraid these requirements contradict each other. Yes, you can use Qt to make applications that run on Mac, Windows, and Linux of course (in fact, they do so "out of the box"). Yes, you can make them look like "modern Windows metro style" programs, e.g. by using QML and/or QtQuick.
However, true Metro apps use the new windows API (called WinRT), and are deployed via the Windows store or via app packages. So this is Windows only.
Qt doesn't officially support WinRT apps yet, but when you grep the dev-version (Qt 5.3 alpha), you can try to build a true Metro-style app on your own. See http://qt-project.org/wiki/WinRTBuild and http://qt-project.org/wiki/WinRT_TP1_deployment and http://blog.qt.digia.com/blog/2013/06/14/introduction-to-windows-rt-frameworks/ ...[/quote]
-
Hi ZeePillow,
I am trying to make a Qt Desktop application whose major function is 3d visualization. And it will include some backend logic computation using C++. I might also want to call 3d party c++ library.
I know I can implement this by using Qt Desktop application framework. But I want the application to be more "good-looking". It seems I can achieve this by using QML and/or Qt Quick. But I'm not sure that whether I can still implement the all the functions. (i.e. whether there are any limitations if I choose to use QML or Qt Quick)
Thanks
[quote author="ZeePillow" date="1390935498"][quote author="stevewang" date="1390881391"]I want to create a Desktop Application that can run on Mac, Windows and Linux. And I want to make it Metro Style.[/quote]
What kind of application would you like to create ? Do you have a vision of what you want to do, are you just looking for a support to begin a project ?[/quote]
-
Hey there,
To answer your question:
I believe that you can use QML combined with all the Qt C++, kind of like HTML and CSS.My question (it kind of piggy backs off yours):
How can I integrate a QML file and a file of C++, is there a way to do it similar to how you can link a CSS file in an HTML file? -
The Qt Quick Controls module has equivalents for many of the desktop widgets:
http://qt-project.org/doc/qt-5.1/qtquickcontrols/qtquickcontrols-overview.html -
Hi,
If you want to create apps that "look like" Metro apps, QML is well-suited for this. Just use lots of "Rectangles":http://qt-project.org/doc/qt-5/qml-qtquick-rectangle.html and some "ScrollViews":http://qt-project.org/doc/qt-5/qml-qtquick-controls-scrollview.html.
[quote author="nicky j" date="1390966566"]How can I integrate a QML file and a file of C++, is there a way to do it similar to how you can link a CSS file in an HTML file? [/quote]You can't link directly, but there are a few different approaches you can take. See
- http://qt-project.org/doc/qt-5/qtqml-cppintegration-topic.html
- http://qt-project.org/doc/qt-5/qtqml-cppintegration-interactqmlfromcpp.html
[quote author="philk" date="1391011956"]The QtQuick tools are no replacement for real desktop components. Tried it and gave up.[/quote]What did you find lacking?