在成功编译项目之后,我获得了一个可执行文件.
当我输入./program结果时,我看到:
QML Error: qrc:///qml/main.qml:25:1:module "QtGraphicalEffects" is not installed
qrc:///qml/main.qml:24:1:module "QtQuick" is not installed
Run Code Online (Sandbox Code Playgroud)
我正在使用QtQuick 2.0,Qt5和Ubuntu,QtQuick和QtGraphicalEffects,~/Qt5.0.2/5.0.2/gcc/qml/我已经从站点项目安装了新的Qt SDK.
我已尝试在Windows 7上运行此应用程序,但结果相同.
有人可以帮忙吗?
我width在QML上有一个属性,该属性Rectangle是基于另一个具有id mainwindow和以下数组属性之一的Rectangle设置的mainwindow:
width: mainwindow.width/mainwindow.numColsPerRow[positionRow]
这在我的矩形设置时有效; 也就是说,数组中的元素numColsPerRow是正确的.
但是,在设置此Rectangle之后,如果我更改此Rectangle 内numColsPerRow的值width没有任何效果.
QML不允许属性绑定到数组元素吗?
我正在使用Qt 5.2 beta,Qt Quick 2.1.
我有直接的Flickable组件问题.
这是最小的工作代码示例:
import QtQuick 2.1
import QtQuick.Controls 1.0
ApplicationWindow {
width: 300
height: 200
Rectangle {
anchors.fill: parent
color: "green"
Flickable {
id: flickArea
anchors {fill: parent; margins: 10; }
contentWidth: rect.width;
contentHeight: rect.height
Rectangle {
id: rect
x: 0; y: 0;
width: 200; height: 300;
color: "lightgrey"
Rectangle {
anchors { fill: parent; margins: 10; }
color: "red"
}
}
}
}
Button {
anchors.bottom: parent.bottom;
anchors.horizontalCenter: parent.horizontalCenter;
text: "Scale flickArea"
onClicked: …Run Code Online (Sandbox Code Playgroud) 我需要将屏幕锁定到我正在制作的Android应用程序的特定方向.有没有办法在QML中做到这一点?谷歌没有给我任何答案.
我使用的是Qt 5.2.
我想知道我可以在QML环境中使用哪些字体作为font.family属性.这些字体是特定于系统还是内置于框架中?有没有办法列出所有可用的字体?
我想为QML实现滚动动画ListView.这是一个示例图像:

任何人都可以建议我实施这个吗?
谢谢.
我有一个id我需要在QML树中找到的对象字符串.例如:
var idToFind = "myBtnId"
Run Code Online (Sandbox Code Playgroud)
我可以做以下的事情吗?
var objectThatINeed = myMainWindow.findObjectById(idToFind)
Run Code Online (Sandbox Code Playgroud)
据我所知,我可以objectName用于此目的(至少从C++开始).我可以在id不引入名称的情况下以某种方式重用现有的吗?
我想将此对象用作其他动态创建的控件的父对象.
有没有办法隐藏某些项目ListView?
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
ApplicationWindow {
title: qsTr("Hello World")
width: 640
height: 480
visible: true
ListView {
anchors.fill: parent
model: ListModel {
ListElement { color: "red"; visible: true}
ListElement { color: "green"; visible: false}
ListElement { color: "blue"; visible: true}
}
delegate: Rectangle {
width: parent.width
height: model.visible ? 30 : 0
color: model.color
visible: model.visible
enabled: model.visible
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果只有ListView可以忽略不可见的Items',上面的解决方案会很好height.
设置height到0手动是坏的表现,所以我需要一个更好的解决方案.你可以帮帮我吗?
与thisC++中的关键字类似,我想要有一个QML元素将自己传递给JS函数,或者让它在另一个元素上设置属性.这可能吗?
例如:
Rectangle{
id:theParent
property var theElement
SomeElement{
id:theChild
MouseArea {
anchors.fill:parent
onClicked: {
someJsFunction(*whatGoesHere*)
parent.theElement=*whatGoesHere*
}
}
Run Code Online (Sandbox Code Playgroud)
或者,考虑一下:
Rectangle{
id:theParent
property var theElement
SomeElement{
id:theChild
}
Run Code Online (Sandbox Code Playgroud)
然后,在SomeElement.qml中:
Rectangle{
MouseArea {
anchors.fill:parent
onClicked: {
someJsFunction(*whatGoesHere*)
parent.theElement=*whatGoesHere*
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,*whatGoesHere*它将是调用它们的SomeElement的实例.
这在QML中是否可行?我认为该id属性是有意义的,但根据文档,你无法查询该id字段的值,无论如何,id如果我SomeElement在一个单独的文件中描述,那么就不可用了,并且上面的whatGoesHere处理出现在那个单独的文件而不是特定的实例.
我TableView在Qt5中用于我的应用程序.可以更改此表的行的颜色(背景,文本和替代),但没有更改标题(标题)颜色的选项.
怎么做?