[Interest] XAML and CX in Qt for Windows Phone

Knight Andrew Andrew.Knight at digia.com
Tue Aug 26 10:23:23 CEST 2014


Hi,

XAML rendering is not supported out of the box, and probably won't be any time soon. You need modify Qt to do this, so read the code review links I pasted earlier. This experimental territory, so you're on you're own here.

Feel free to comment on the code reviews themselves if there are parts you don't understand.

Cheers,
Andrew

________________________________
From: Đèn cù Phan Quang Huy [matdennoigi at gmail.com]
Sent: Tuesday, August 26, 2014 11:17 AM
To: Knight Andrew
Cc: interest at qt-project.org
Subject: Re: [Interest] XAML and CX in Qt for Windows Phone

Dear Andrew,

Recently, i was a bit busy so i can tried it today. (ZW) extension only enable to use CX. I want to render Qt to XAML scene graph. How can i do it???

Sorry for my poor English :) !


On Fri, Aug 15, 2014 at 4:35 PM, Đèn cù Phan Quang Huy <matdennoigi at gmail.com<mailto:matdennoigi at gmail.com>> wrote:
Thanks, Andrew!
I will try it.


On Thu, Aug 14, 2014 at 2:52 AM, Knight Andrew <Andrew.Knight at digia.com<mailto:Andrew.Knight at digia.com>> wrote:
Huy Phan Quang wrote:
> So, it mean "i must rebuild qt source code"???

Not for using C++/CX in your application (why would it)? You just need to tell the compiler to enable the extensions (/ZW). Qt will happily link just the same.

-Andrew

---

From:
Knight Andrew

Sent:
‎13/‎08/‎2014 4:32 CH

To:
Đèn cù Phan Quang Huy;

interest at qt-project.org<mailto:interest at qt-project.org>

Subject:
RE: [Interest] XAML and CX in Qt for Windows Phone




Hi,



> Hi all !

>

> In Windows Phone 8, Microsoft provided a new technique for native development (C++). There are 2 template for native :

>

> Native Only (only use C++) template: this template only use pure C++ with limited access to Platform API (C# implementation like Camera, Push Notification, etc.). It has been only used

>  for game development (with DirectX). XAML + C# + C++ template: with this template, in fact, it is “general Windows Phone template” with XAML for

>  layout, C# for logic processing and C++ for backend heavily processing. Example, the game render would be written in C++ (like native only) but it would be rendered on a control in XAML. MS provided a mechanism

>  for communicate between C# and C++, is “CX” (much like C++.net) and it much like JNI mechanism in Android. CX allows C++ can access C# Platform API,

>  which can’t be accessed directly from C++.

>

>

> In Qt, when i want to build for Windows Phone, i will create Visual Studio Solution by “qmake” and build it in Visual Studio, but the output solution of it is > “Native Only Template”, thus i can’t write CX and integrated any Ad Banner for my app.

>

> Please add qmake optional for create Xaml template. It's very useful!



As you have noted, Windows Phone allows for "Native Only" development, and this is what Qt uses. We do not use any CX, C#, or XAML in the Qt codebase, and this is likely to remain the case as we go along.



That said, there is nothing preventing you from using CX in your code. You simply need to add

    QMAKE_CXXFLAGS += -ZW

to your .pro file to enable the extensions.



XAML integration is also possible in theory, but it requires major changes to Qt. If you're not planning to use any Qt UI integration (Widgets, Qt Quick, etc.), then you probably won't have any serious issues using XAML, though. The two experiments are available
 on Code Review:

https://codereview.qt-project.org/86264

https://codereview.qt-project.org/88593

They involve modifying winmain, a static BSD-licensed support library in qtbase. You are welcome to do something similar in your app; just rebuild winmain or link to your version of winmain instead.



So, to summarize: we don't use these features in Qt (and have no plans to), but there are ways to use them in your app.



HTH,

Andrew



P.S. What ad banner framework are you using? It may actually be possible to use it from native C++ by generating headers from the winrtmidl compiler.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140826/409a95c4/attachment.html>


More information about the Interest mailing list