Har Qt apps ser ud og føles indfødt under Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er ved at porte en af ​​mine Mac applikationer til Windows. Mac-appen bruger Apples oprindelige Kakao/Appkit-rammer for brugergrænsefladen. Brugergrænsefladen er Obj-C kode, og kernen app funktionalitet er bærbar C ++ kode.


Nu leder jeg efter en måde at porte appen til Windows og få den til at se ud og føle sig indfødt til Windows-brugere. Mit valg er Microsofts MFC og Qt-rammen. Selv om jeg er sikker på, at MFC-apps har det oprindelige udseende, er det forfærdeligt, hvad jeg husker fra MFC-kodning. Jeg tog et kig ind i Qt og kan lide det fra udviklerens perspektiv.


Men da jeg ikke er en Windows-bruger, har jeg ingen idé om, hvorvidt Qt apps har et indbygget Windows-udseende.


Således er mit spørgsmål: Kan jeg lave (uden en masse arbejde) en Qt app opføre sig og se ud som den var skrevet med de indfødte Windows-rammer?

Bedste reference


Du kan nemt ændre stilen på en Qt-applikation. På Windows og Mac bruger standard stilen faktisk de indbyggede funktioner til tegning af vinduer, kontroller og lignende.


Derudover tager Qt mange foranstaltninger, så selv de mindste aspekter af en applikation (ting du ikke engang ville tænke på) efterligner den indfødte adfærd på en bestemt platform. Så din Qt-applikation kan også erstatte din nuværende Mac-applikation, når den sendes.


Jeg anbefaler yderst, at du ikke bruger MFC, du vil fortryde det (især hvis du aldrig har arbejdet med den native Win32 API). Det er det fuldstændige modsatte af Qt om fleksibilitet og brugervenlighed.

Andre referencer 1


Som du kan læse om doc.qt.io:[1]



  Qt Widgets er traditionelle brugergrænsefladeelementer, der typisk er
  fundet i desktop-miljøer. Widgetsne integrerer godt i
  Underliggende platform, der giver indbygget look 'n' føler på Windows, Linux og
  Mac OSX.



Tag et kig på Qt Widget Gallery: [2]



  Qt 's support til widget stilarter og temaer gør det muligt for din applikation at
  passer ind i det indbyggede desktop miljø.



Du kan være interesseret i en præsentation kaldet Sådan laver du din Qt-applikation Look native: [3]



  Qt bruger native-stil-API'er på hver understøttet platform, men der
  er nogle ekstra tricks du kan bruge til at sikre din Qt-baserede
  applikationen ser ud, føles og opfører sig bedre. Denne præsentation vil
  Kør gennem eksempler, tips og ticks til at hjælpe dig med at lave din
  applikationer ser godt ud på alle platforme.


Andre referencer 2


Nej de gør ej. Det er tæt, men kontrollerne ser ikke-native. Hvad folk mener er, at det bruger Win32 API til at gøre kontrollerne ligner, hvordan Windows gør de oprindelige kontroller, så ydeevnen skal være sammenlignelig.


Kun Windows-specifikke rammer som .NET Windows Forms bruger de faktiske native Win32-kontroller til fælles UI-elementer.

Andre referencer 3


De ser lidt ud, og de føler sig ikke meget.


Især hvis du designer appen med windows i tankerne (som du gør med kakao). Jeg har endnu ikke set bånd (der er en kommerciel 3. part klon) og MFC blå/sort stil eller en listevisning i grupperet ikonvisning.


Desværre er WxWidgets også meget grim at programmere. Bedre end MFC sikkert.
Der er kun to muligheder tilbage, hvis du vil have en rigtig indfødt app, MFC (hvis du har brug for hurtig og lille) eller .NET (hvis du ikke er bekymret for hastighed).


Et tidligere firma havde et 50000 LOC-lag på toppen af ​​MFC, som var nødvendigt for at kunne programmere denne 1992-ramme lidt mere komfortabel). Desværre ved jeg ikke om noget tilgængeligt på markedet, der gør det samme.


Spørgsmålet er, at dine kunder virkelig sætter pris på et indfødt udseende, at det bliver en salgsfaktor eller ej. Jeg bruger nu QT, fordi det er godt nok.

Andre referencer 4


Du skal se på Style reference. Ja det er muligt, og nej det kræver ikke meget arbejde (overhovedet). [4]