我有一个QMainWindow应用程序,它显示了一个QWidget (FormOverview),而这个a又嵌入了一个QQuickWidget。我无法设置QML主题。
我创建了一个“qtQuickContros2.conf”,并将其添加到qml.qrc:
[Controls]
Style=Material
[Material]
Theme=Dark
Accent=Orange
Primary=White
[Material\Font]
PixelSize=50这是我的main.qml:
import QtQuick 2.11
import QtQuick.Controls 2.4
import QtQuick.Controls.Material 2.3
Rectangle {
id: root
width: 1000
height: 1000
visible: true
TabBar {
id: bar
width: root.width
TabButton { text: qsTr("TAB 1") }
TabButton { text: qsTr("TAB 2") }
TabButton { text: qsTr("TAB 3") }
TabButton { text: qsTr("TAB 4") }
}
}我从设计器中为QQuickWidget设置了main.qml资源文件。下面是main.cpp代码:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.showMaximized();
return a.exec();
}MainWindow.h FormOverview _formOverview;
MainWindow.cpp:
ui->tabView->addTab(&_formOverview, tr("Overview"));我没有在代码中设置任何其他内容,因为我认为它应该自动查找并应用配置文件。相反,它使用默认主题呈现控件。
发布于 2019-02-03 21:15:07
正如documentation中所述,默认情况下,QT_QUICK_CONTROLS_CONF变量设置为“:/qtQuickContros2.conf”。因此,您必须确保将qtickContros2.conf添加到根前缀/中的资源文件中,而不是添加到任何其他子目录中。
https://stackoverflow.com/questions/54494196
复制相似问题