2016-11-05 97 views
0

我正在使用Qt 5.7。我的操作系统是Ubuntu 16.04。我的基本代码是在这里:Qt:Material Design未运行

import QtQuick 2.7 
import QtQuick.Controls 2.0 
import QtQuick.Layouts 1.0 

import QtQuick.Controls.Material 2.0 

ApplicationWindow { 
    visible: true 
    width: 300 
    height: 300 
    title: qsTr("Hello World") 

    Material.theme: Material.Dark 
    Material.accent: Material.Green 

    Column { 
    anchors.centerIn: parent 

    RadioButton { text: qsTr("Radio Button 1") } 
    RadioButton { text: qsTr("Radio Button 2") } 
    RadioButton { text: qsTr("Radio Button 3") } 
    } 
} 

我用料设计,但是当我跑在桌面上这个程序,我看到Qt的默认样式,而不是材料设计:Image Link。我没有收到任何错误或警告。当我在Android设备(平板电脑)和Genymotion上运行此应用程序时,我看到了相同的结果。我正在使用NVIDIA卡,我的驱动程序是X.Org(开源)。但是当我使用NVIDIA 340.98驱动程序时,我收到了这个警告:"NV-GLX" missing on display ":0",我发现这款应用程序的风格不是桌面,Android设备或Genymotion上的材质设计。我怎么解决这个问题?我如何在Qt/QML上使用材料设计?

回答

1

导入样式并为其设置属性不会使应用程序以该样式运行。您可以在同一个文件中导入多个样式,为每个样式设置特定于样式的属性。这些应用程序以特定样式运行时会生效。请参阅Using Styles in Qt Quick Controls 2了解可用于选择特定样式的方法。

+0

谢谢,我用[qputenv](http://doc.qt.io/qt-5/qtglobal.html#qputenv):'qputenv(“QT_QUICK_CONTROLS_STYLE”,“material”);'' –