提问人:skrovno_CZ 提问时间:11/16/2023 最后编辑:Abderrahmene Rayene Mihoubskrovno_CZ 更新时间:11/16/2023 访问量:45
如何访问在单独的QML文件中定义的变量?
How to access variables that are defined in a separate QML file?
问:
我无法访问单独文件中的变量。
下面是我的部分代码:
// Style.qml
import QtQuick
QtObject {
property int mainWindowWidth: 1024
property int mainWindowHeight: 768
}
// Main.qml
import QtQuick
import QtQuick.Window
Window {
id: root
width: Style.mainWindowWidth
height: Style.mainWindowHeight
minimumWidth: width
minimumHeight: height
maximumWidth: width
maximumHeight: height
visible: true
title: "Sampletext"
}
它编译良好,但是当我运行它时,我收到一个错误,说:
无法将 [undefined] 分配给线宽 Style.mainWindowWidth 所在的 int。
如何解决此问题?
答:
0赞
Mohsen Kondori
11/16/2023
#1
应创建组件的实例或定义为单一实例组件。
单例的定义如下:Style
Style
Style
样式.qml
pragma Singleton
import QtQuick
QtObject {
property int mainWindowWidth: 1024
property int mainWindowHeight: 768
}
CMakeLists.txt:
set_source_files_properties(
Style.qml
PROPERTIES QT_QML_SINGLETON_TYPE True
)
qt6_add_qml_module(appExample
URI appExample
VERSION 1.0
QML_FILES
Main.qml
Style.qml
)
主.qml
import QtQuick
import QtQuick.Window
import appExample
Window {
id: root
width: Style.mainWindowWidth
height: Style.mainWindowHeight
minimumWidth: width
minimumHeight: height
maximumWidth: width
maximumHeight: height
visible: true
title: "Sample Text"
}
评论
Style { id: style }
cmake
cmake
qmake