gpt4 book ai didi

c++ - QByteArray 的外部与内部声明

转载 作者:行者123 更新时间:2023-11-30 05:37:00 25 4
gpt4 key购买 nike

我目前在使用 QSerialPort 时遇到了一些问题:当我使用一个示例中的函数时,它看起来像

QKeyEvent *e;
emit getData(e->text().toLocal8Bit());
connect(console, SIGNAL(getData(QByteArray)), this, SLOT(writeData(QByteArray)));
void MainWindow::writeData(const QByteArray &data)
{
qDebug() << "Data is to write: " << data;
serial->write(data);
}

然后接收设备可以处理数据。但是当我将函数 writeData() 更改为

void MainWindow::writeData(const QByteArray &data)
{
QString a = "Q";
QByteArray b = a.toLocal8Bit();
serial->write(b);
}

接收设备无法处理接收到的数据。这两种方法有什么区别?
更新:我发现显然只有当我在输入字母后按 Enter 时,数据才会有用地传输。 '\n' 在从 QStringQByteArray 的转换中以某种方式丢失了。我该如何保留它?

最佳答案

你应该像这样在你的 Qstring 中添加一个 enter

QString a = "Q\x00D";

关于c++ - QByteArray 的外部与内部声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387148/

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