草庐IT

qml-QianWindow

全部标签

c++ - QML - Q_INVOKABLE 函数

我在调用Q_INVOKABLE函数时遇到QML问题。尽管我将函数标记为Q_INVOKABLE,但我遇到了错误TypeError:Resultofexpression'azdownloader.setData'isnotafunctionTypeError:Resultofexpression'azdownloader.perform'isnotafunction我有这门课:typedefQStringlyricsDownloaderString;classlyricsDownloader:publicQObject{public:Q_INVOKABLEvirtualshortperfo

c++ - Qt 与 QML 语言相关性

所以,我是Qt的新手,我的目的是熟悉Qt图形。然而,互联网上的大多数指南建议在处理图形时使用QML而不是QtC++。这是我的问题:QtC++和QML有什么区别?QML给了我们什么,而QtC++没有? 最佳答案 界面技术这实际上与其说是QML与C++的问题,不如说是Qt使用何种UI技术的问题:QtWidgets(用C++编写的代码)QtQuick(使用QML/JS编写的代码)HTML5(通过WebEngine,嵌入到小部件或QtQuick项目中)OpenGL(嵌入到小部件或QtQuick项目中)撇开HTML5和OpenGL,QtWid

c++ - QML map : Large amount of displayed items

我在QMLLocation模块提供的map上显示大量MapItems时遇到性能问题。我已经在这里问过这个问题(https://forum.qt.io/topic/79229/large-amount-of-qml-mapitems),但没有人能帮助我,所以我想在这里试一次。我也发现了这个问题(HowtousetheQML/QtLocationmodulefordisplayingalargeamountofofflinedataonamap?),但在添加另一个依赖之前,我想看看我的代码是否可以改进,以便QML可以在没有任何帮助的情况下处理这种情况。我目前正在尝试将大量项目绘制到QMLm

c++ - 如何在 QML 中显示来自 QTextDocument 的分页文本?

我目前有一个继承自QQuickPaintedItem的C++类。我使用它通过QTextDocument::drawContents(或直接调用其QTextDocumenLayout的draw方法)从QTextDocument绘制布局、分页的富文本。但是,如QQuickPaintedItems文档中所述,需要注意线程问题:Warning:ExtremecautionmustbeusedwhencreatingQObjects,emittingsignals,startingtimersandsimilarinsidethisfunctionasthesewillhaveaffinityt

c++ - Qt:从 C++ 向 QML 引擎抛出异常

调用Q_INVOKABLE时写在C++中的方法来自JavaScript在QML中发挥作用,你如何抛出异常?该方法属于类型的对象,注册电话qmlRegisterType()例如,我有以下QML代码:TextField{id:fld_recipientonEditingFinished:{try{varidentity=myapp.identities.current_Identity;varcompany=identity.companies.current_Company;myapp.lookup_email(identity.identity_id,company.company_i

c++ - QML 动态组合框条目

我正在尝试在QML和C++中实现ComboBox,我可以在其中动态更改ComboBox的内容。我提供了一个QStringList作为ComboBox-Model,并希望使用两个按钮从ComboBox中插入/删除一个条目。我可以在我的ComboBox中显示QStringList,但是当我单击添加按钮时,我的QStringList在我的类中得到更新,但不知何故View不会更新ComboBox条目。我应该怎么做才能告诉View我的组合框模型已更新?这是我的代码:组合框模型.h#ifndefCOMBOBOXMODEL_H#defineCOMBOBOXMODEL_H#include#includ

c++ - 在 Qt5 中从 C++ 操作 QML Canvas

在我的Qt5应用程序中,我有一些C++和一些QML协同工作(也就是来回发送信号)。在这一点上,我想实现一个小部件,以我的QML中显示的实际波形的形式显示播放音频流的实时更新可视化。所以我想知道有哪些替代方法可以解决这个问题?最简单的代码替代方案是什么?哪种替代方案的性能最好?我天真的想法是:在我的QML中创建一个Canvas,然后直接从C++绘制到这个Canvas将实际样本作为缓冲区发送到QML,并通过js在canvas中绘制它们将实际样本作为缓冲区发送到QML并以其他方式绘制它们编写自定义C++小部件并以某种方式在QML中显示它PS:我已经可以访问实际样本来生成可视化效果,但是如果您

c++ - qml : data models in models 中的嵌套列表

我正在尝试在QML界面中实现嵌套评论系统。我有一个C++模型(从QAbstractListModel继承),其中模型中的每个项目返回两个值:一个是QString,另一个是角色名称为“dataMap”的QVariantMap。这适用于QMLListView。现在每个QVariantMap包含一个项目“data”,它进一步包含一个QVariantList“children”。现在这基本上列出了具有相同结构的其他QVariantMap。我实现这个的想法是在QMLListView中使用递归委托(delegate)。下面是我的代码的最简单版本。ListView{id:commentsListan

c++ - 如何在 Qt QML 中退出 C++ 应用程序

根据QtqmlType文档quit()ThisfunctioncausestheQQmlEngine::quit()signaltobeemitted.WithinthePrototypingwithqmlscene,thiscausesthelauncherapplicationtoexit;toquitaC++applicationwhenthismethodiscalled,connecttheQQmlEngine::quit()signaltotheQCoreApplication::quit()slot.所以为了退出QML中的C++应用程序,我必须调用它Qt.quit()在Q

c++ - 无法将 C++ 类型注册到 QML 系统

我正在尝试将C++类型添加到QML系统。#include#include#include#include"qtquick2applicationviewer.h"#includeclassFooBar:publicQObject{Q_OBJECT};intmain(intargc,char*argv[]){QGuiApplicationapp(argc,argv);QQmlApplicationEngineengine("qml/RBot/main.qml");qmlRegisterType("io.secorp",1,0,"FooBar");returnapp.exec();}但是当