gpt4 book ai didi

c++ - QLcdNumber 奇怪的行为

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:15 25 4
gpt4 key购买 nike

好吧,QLcdNumber 的值是使用 display() 属性设置的。第一次处理 QLcdNumber 时表现出奇怪的行为。考虑这个例子:

void MainWindow::dataFromUdp(QByteArray pack)
{
if(pack.at(0) == '!')
{
unsigned long x;

x = (unsigned char)pack[pack.length() -1] +
(unsigned char)pack[pack.length() -2] * 256 +
(unsigned char)pack[pack.length() -3] * 256 * 256 +
(unsigned char)pack[pack.length() -4] * 256 * 256 * 256;

//extract packet

if(x == crcCalculate(0, pack.length() - 4, pack))
{
//CRC is correct

if(pack[1] == 0x0d)
{
number = 0; // class member variable
char value[6];
sprintf(value,"%c%c%c%c%c", (char)pack[2],(char)pack[3],(char)pack[4],
(char)pack[5],(char)pack[6]);

//Now value = 00125

number = atoi(value)/1000.0;

//Now value is 0.125

ui->lcd_range->display(number);

qDebug() << number;

//Here qDebug() and qlcd both show -3.6xx

你有什么想法吗?

最佳答案

服务器也错误地向我发送了第二个数据包。所以,第二个数据包在眼睛没有注意到的情况下覆盖了液晶显示器!很抱歉占用您的时间。

干杯。

关于c++ - QLcdNumber 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19617865/

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