草庐IT

c++ - 使用cpp代码从加载的qml访问qml对象

我有一个main.qml,它使用加载程序加载Page1.qml。如何从我的cpp代码中找到Page1.qml中的对象“whiteArea”?我目前正在使用以下方法来获取对象,并且也想像这样获取加载的qml。QObject*object=engine.rootObjects().at(0)->findChild("yourObjectName");主.qmlimportQtQuick2.3importQtQuick.Controls1.2importmyplugin1.0ApplicationWindow{id:appvisible:truewidth:640height:480titl

c++ - Qt 图表 (QML) 日期时间轴中缺少二月

我已经创建了一个QML图表ChartView{id:chartanchors.fill:parentantialiasing:trueValueAxis{id:axisYtickCount:3}DateTimeAxis{id:xTime}SplineSeries{id:chartseriespointsVisible:truepointLabelsVisible:falseuseOpenGL:trueaxisX:xTimeaxisY:axisY}}我还在每个月的月初附加到图表中。刻度点上的工具提示是正确的。在X轴上,Qt本身正在按照它喜欢的方式做同样的事情。如何手动调整Xaxis->s

javascript - 检查/访问 QML 中动态创建的对象

有什么方法可以在QML/javascript中检查是否存在并访问动态创建的对象(不使用C++)?我正在尝试创建一个具有类似于map的界面的应用程序-给定一个键和一个对象,我的应用程序必须定位是否存在具有该键的对象并用新对象覆盖。如果不是,应用程序必须创建一个新对象并与key相关联。文档说动态管理的对象没有ID,我发现访问它们的唯一方法是使用objectName,这似乎需要C++应用程序。提前致谢。 最佳答案 您可以使用JavaScript对象作为map。您不能在QML中直接操作它,但您可以将所有处理此对象的代码移动到JavaScri

c++ - 从 C++ 访问 ListElement (QML) 颜色

我尝试访问ListElement(QML):color的属性;ListModel{id:myListModelListElement{name:"one";color:"red";objectName:"first"}ListElement(name:"two";color:"green"}}在C++中我必须使用:QObject*o=ui->declarativeView->rootObject()->findChild("first");o->setProperty("color","blue");但我无法访问此属性。请帮忙。 最佳答案

c++ - Qt Qml中的圆形图像

我想在QtQml中实现圆形图像。我在以下代码中使用图像元素。Rectangle{id:maskanchors.centerIn:parentwidth:200height:200radius:100clip:true}Image{id:imageanchors.fill:masksource:"test.jpg"}但它不起作用。如果您对此有任何想法,请帮助我。谢谢。 最佳答案 剪裁总是应用于项目的矩形边界框。因此,您不能使用带裁剪的矩形来生成圆形图像。但是您可以使用OpacityMask去实现你想要的。在链接的文档中可以找到一个很好

c++ - 在QML插件的QGLWidget上渲染QImage

我正在尝试编写一个QML插件,它从视频中读取帧(使用自定义小部件来完成该任务,而不是QtMultimedia/Phonon),并且每个帧都被转换为QImageRGB888,然后显示在QGLWidget上(出于性能原因)。现在没有任何东西被绘制到屏幕上,屏幕一直保持白色。重要的是要声明我已经在没有QGLWidget的情况下完成了所有这些工作,所以我知道问题在于QGLWidget的设置和绘制。插件正在注册:qmlRegisterType<Video>(uri,1,0,"Video");所以Video是插件的主类。在它的构造函数中我们有:Video::Video(QDeclara

c++ - 模型中的 Qt 模型?

我有一个Qt模型,它很可能是一个QAbstractListModel。每个“行”代表我存储在QList中的一个对象。我在ListView的QML中显示它。但是,每个对象都有一个恰好是字符串数组的属性。我想在显示该行的委托(delegate)中将其显示为ListView。但我不知道如何将该模型(针对对象的字符串数组属性)公开给QML。我无法通过数据函数公开它,因为模型是QObjects,而不能是QVariants。我考虑过使用QAbstractItemModel,但我仍然不知道如何为我的ListView获取模型。以防万一,我使用的是Qt5.0.0版本。 最佳答

c++ - 在 Qt Quick 2 中嵌入 QWidget 对象

8个月前有这样一个问题——如何将基于qwidget的对象嵌入到QML中,http://doc.qt.digia.com/4.7/declarative-cppextensions-qwidgets.htmlQt5.EmbedQWidgetobjectinQML.情况变了吗?或者对于一些复杂的应用程序,使用自己重新实现的paintEvent,我们只能使用经典的Qt? 最佳答案 QQuickPaintedItem可用于通过QPainterAPI进行绘图。在下面的代码中,我尝试将QCalendarWidget包装到QQuickPainte

c++ - 将 QObject 类公开到 qml 时,在 Qt 中管理内存的正确方法?

我使用C++来编写我的大部分程序逻辑。我喜欢将C++类公开到QML中,以便QML可以使用JS来完成许多复杂的工作。然而,问题来了:如果C++函数返回一个QObject*Q_INVOKABLEQObject*parseJson(constQString&someArguments){returnnewSomeClassExtendsQObject(someArguments);}然后分配给JS变量并使用varresult=exposingCppObj.parseJson("I'mArguments");result.someMemberFunction(...);.....如果我用del

c++ - 如何在 3D 中对 QML 旋转变换进行动画处理和属性插值

这里的代码示例:importQtQuick2.0Item{width:200;height:200Rectangle{width:100;height:100anchors.centerIn:parentcolor:"#00FF00"Rectangle{color:"#FF0000"width:10;height:10anchors.top:parent.topanchors.right:parent.right}}}将产生这个输出:现在我想从这个绿色矩形的中心应用3D旋转。首先,我想在X轴上旋转-45度(弯腰),然后在Y轴上旋转-60度(向左转)。我在侧面使用了以下使用GLM截取的C