gpt4 book ai didi

c++ - 如何在Qt中传递值?

转载 作者:行者123 更新时间:2023-11-28 08:14:05 25 4
gpt4 key购买 nike

我正在做 NFC 项目。在此我需要检测标签并从 NFC 标签中读取标签内容,我需要将标签 ID 发送到 PHP 服务器。从服务器端我会得到 {tagId&tagcontent} 的响应。在此之后我需要提取 tagId 和 tagcontents。直到这我已经完成并且工作正常。现在我的问题是将值传递给另一个类。一旦我从服务器获得成功响应,我需要将提取的值传递给另一个类。我怎样才能做到这一点。我是 Qt 编程的新手。请帮助我。

最佳答案

您可以将参数作为键值对传递,即为此目的使用 QHash 或 QVector。

此外,如果您希望信息过于具体,您可以定义一个自定义 C++ 类,其中包含响应字段的值,并将引用从第一个类传递到另一个类。

Qt中的参数传递类似于C++。

您的 QStringList、QVector 或 QHash 都只是类。您可以像传递任何其他自定义类一样传递这些类的对象。

例如:

在你的目标类中(比如 T):

void getResponseHeader(QHash<QString,QString> x);

在你的调用类中(比如 C):

T *t  = new T(); //or whatever instance you have
t->getResponseHeader(myParsedResponse);

更具体地说,您可以通过值或引用在 C++ 中传递参数。对于传递对象,最好通过引用传递它们。

按值传递意味着在被调用者的堆栈上创建对象的拷贝,而改变对象意味着改变本地拷贝,因此当函数返回时调用者的对象没有改变。引用传递是指发送对象的地址(引用持有一个地址,但表现得像一个对象),以便被调用者可以直接改变原始对象。

查看此线程 What's the difference between passing by reference vs. passing by value?

http://www.codeguru.com/forum/showthread.php?t=343473 的代码论坛上提供了一个很好的示例解释。

关于c++ - 如何在Qt中传递值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com