导入时,QtQuick.Controls 1.4 不应用材质样式

When importing, QtQuick.Controls 1.4 does not apply Material Style

本文关键字:应用 样式 QtQuick Controls 导入      更新时间:2023-10-16

在QML应用程序中,我需要一个日历。它位于QtQuick.Controls 1.4中。但是一旦我导入QtQuick.Controls 1.4 Material Style就停止工作。 如何使用日历,但不丢失材质样式?

#include <QQuickStyle>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQuickStyle::setStyle("Material");
return app.exec();
}

主.qml

import QtQuick 2.12
import QtQuick.Controls.Material 2.12
import QtQuick.Controls 2.14
import QtQuick.Controls.Private 1.0
//import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.3

QtQuickControls 1.x和2.x可以具有相同名称的组件,这会导致它们重叠(取决于首先导入的内容(。导入 QQuick 1.x 内容时,我建议在导入语句中定义一个自定义名称。以下是日历的工作示例:

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls 1.4 as QtQuickControls1
import QtQuick.Controls.Material 2.12
ApplicationWindow {
visible: true
width: 800
height: 600
QtQuickControls1.Calendar { 
id: calendar
}
}