草庐IT

qml-qtquick

全部标签

c++ - QTextObjectInterface 与 Qml TextEdit (QQuickTextEdit)

我为简单的QTextObjectInterface注册了处理程序,它只绘制10x10的红色矩形。当我在普通QWidget应用程序中使用QTextEdit时,它起作用了。当我在QtQuick应用程序中使用QQuickTextEdit(TextEditqml组件)时,它不起作用(没有绘制任何内容,但TextEdit中的矩形被保留,因为当我更改光标位置时,我注意到那里是东西,但只是空的空间,没有画任何东西。QTextObjectInterfaceintrinsicSize方法被调用(这解释了为什么我看到有空白空间10x10),但drawObject方法没有。我做了一些研究,我发现实际上问题可

c++ - ObjectList/Repeater 的 QML DefaultProperty

我正在使用我自己的C++小部件扩展QML,使用DefaultProperty和QQmlListProperty,例如here.这样我就可以写Parent{Child{prop:"ch1"}Child{prop:"ch2"}Child{prop:"ch3"}}子对象附加到QQmlListProperty类型的成员属性.但是当我想使用Repeater像这样:Parent{Repeater{model:["ch1","ch2","ch3"]delegate:Child{prop:modelData}}}然后运行时给我一个错误:Cannotassignobjecttolistproperty"

c++ - 将信号从 QML 连接到 Qt 5.1

我想使用qt5.1将qml信号连接到qt插槽。我不能在这个版本的qt中使用DeclarativeView。我的qml元素是一个简单的矩形,在onClicked事件上启动信号。Rectangle{id:testwidth:200height:50x:10y:10signalqmlSignal()MouseArea{hoverEnabled:falseanchors.fill:parentonClicked:{console.log("geklickt")test.qmlSignal()}}我有一个带有此header的SignalslotlistView类:classSignalslotl

c++ - 在 QML 中使用 C++ 枚举作为字符串

我想做的是在C++中使用以下枚举:classMyClass:publicQQuickItem{Q_OBJECTQ_PROPERTY(MyEnumenumValueREADgetEnumValue)public:enumMyEnum{MyEnumElement=0};Q_ENUM(MyEnum)slots:MyEnumgetEnumValue(){returnenumValue;}private:MyEnumenumValue=MyEnumElement;};在QML中是这样的:MyClass{id:myClass}Text{text:"enumValueis:"+myClass.enu

c++ - 如何将枚举类传递给 QML?

我正在学习使用Qt来学习QML,但在将enumclass传递给qml时遇到了一些麻烦。当我将信号与int参数一起使用时-一切正常,代码运行完美。但是,问题来了,如果我将信号与一些enumclass参数一起使用,我在qml信号处理程序中有未定义值。我尝试通过qmlRegisterType注册enumclass但它不起作用。我将不胜感激。这里是代码:一些HelperclassclassHelper:publicQObject{Q_OBJECTQ_ENUMS(Requester)Q_ENUMS(JANSWER)public:enumclassRequester{ReqLogin,ReqNul

c++ - 从 QAbstractListModel 中删除项目后 QML 崩溃

我在装有OS-X10.8.5的Mac上运行Qt5.1.1和QtCreator2.8.1。我有一个管理ImageData对象的QAbstractListModel。在main.cpp中注册ImageProvider后,我可以使用GridView加载图像并在QML中显示它们。接下来我在View中选择单个图像,例如,下面显示了几个带有橙色边框的选定图像:然后是C++模型函数:deleteSelected(),产生预期的结果:但是,当我试图通过捕获其中一个角来调整窗口大小时,我遇到了崩溃。堆栈跟踪显示:异常类型:EXC_CRASH(SIGABRT)并且我收到Qt错误:ASSERTfailure

c++ - QML 与 C++ 通信

我在QML与C++通信时遇到问题。我已经按照预期使示例代码正常运行的所有步骤进行了操作。在处理这个小示例几个小时后,它归结为一条错误消息,我根本无法摆脱它:./input/main.cpp:18:error:nomatchingfunctionforcallto'QObject::connect(QObject*&,constchar*,Input*,constchar*)'&input,SLOT(cppSlot(QString)));^我在relatedproblem上阅读了一些以前的帖子,仔细检查所有内容,显然一切看起来都是正确的。以下是详细信息:./Sources/main.cp

c++ - QtQuick、动态图像和 C++

我是Qt的新手,根据我在qt-project.org上阅读的内容和其他地方;QtQuick似乎是一个有吸引力的选择,因为它能够在基于指针和触摸的设备上工作。我的问题是让它与c++一起工作。我决定在“HelloWorld”之后编写康威生命游戏的一个变体作为下一步。对于如何将“板”——一个[高度][宽度][每像素字节数]字符数组——集成到场景图中,我感到非常困惑。基本上,该过程是“LifeBoard”遍历其规则并更新char*/image。我有这个简单的QML::::QMLApplicationWindow{id:life_app_windowvisible:truetitle:qsTr(

c++ - 单击按钮后动画 QML 矩形的颜色

我试图让我的开发板在单击按钮时闪烁绿色。我添加了以下颜色动画代码来帮助创建闪烁效果,以便板可以从其原始颜色变为绿色,然后再恢复为原始颜色。我在一些代码示例中看到,ColorAnimation也可以像这样使用ColorAnimationoncolor{...}。我尝试使用它来引用rectangle颜色属性,但它提示color是无效属性,这就是为什么我在下面的代码中没有它。SequentialAnimation{running:trueloops:Animation.InfiniteColorAnimation{to:"green"duration:500}ColorAnimation{t

javascript - QML 鼠标在 MouseArea 中的绝对位置

如何从鼠标区域获取鼠标的绝对位置?我需要让它显示正确位置的弹出窗口Item{Menu{id:menuMenuItem{onTriggered:{//NeedMouseabsoluteposition}}}MouseArea{id:mouseAreaanchors.fill:parentonClicked:{menu.popup()}} 最佳答案 简答映射到/从另一个项目:mapToItem,mapFromItem映射到/来自全局(来自Qt5.7):mapToGlobal,mapFromGlobalonClicked:{varposi