1

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

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 上使用材料设计?

4

1 回答 1

3

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

于 2016-11-05T13:17:31.293 回答