2016-02-10 53 views
1

我正在爲使用QML的平板電腦編寫應用程式。QML應用程式

應用程序的主QML文件是這樣的:

ApplicationWindow { 
    id: mainWindow 
    visible: true 
    title: "MyApp" 

    menuBar: MenuBar { 
     Menu { 
      title: qsTr("File") 
      MenuItem { 
       text: qsTr("Open project") 
      } 
      MenuItem { 
       text: qsTr("Exit") 
       onTriggered: Qt.quit(); 
      } 
     } 
    } 
} 

如果我運行在Android設備上的應用程序,菜單的樣式像一個標準的Android菜單,這是一個按鈕(用「3分」圖標)在右上​​角。這是非常好的。

相反,如果我在Windows設備上運行該應用程序,該菜單就像一個標準的桌面應用程序菜單(傳統的文件菜單...)。此款式不適用於平板電腦應用程序。

有一種方法可以選擇應用程序的風格嗎? 謝謝!

+0

經過很多與股票QML組件鬥爭,我發現的解決方案是「不使用庫存QML組件」 – dtech

回答

2

沒有造型,Qt Quick Controls的組件應該有原生外觀。不過,您可以製作自己的almost all of them款式。

3

正確的樣式應該是picked up by default。如果不是,則表示該設備類型(例如觸摸)的樣式不可用。如果您想使用特定的樣式,則可以在運行應用程序之前設置QT_QUICK_CONTROLS_STYLE環境變量。但是,某些樣式只能在爲其構​​建的平臺上運行。例如,Android風格需要specific file from a directory on the device才能正常運行。

請注意,Qt Quick Controls更注重桌面。如果你有機會,而你不需要需要本地風格,我建議嘗試Qt Labs Controls。他們更加以觸摸爲導向,並擁有style that implements Microsoft's Universal Design Guidelines

enter image description here

他們目前有three different styles可用的,任何風格可以在任何平臺上使用。

+0

我試圖設置QT_QUICK_CONTROLS_STYLE到Windows下的Android風格,但菜單根本不出現:(。也許我會嘗試Qt實驗室控制,但我必須升級Qt(我正在使用5.5) – Fabio

+0

在Windows上使用Android風格不起作用;請參閱我的第一個編輯。 – Mitch