Qt系列——Win10下LCM通讯库在Qt中的使用及问题解决

这篇博客介绍了在Windows 10环境下,如何在Qt中使用LCM通讯库进行数据传输。作者展示了发送端和接收端的运行界面,并详细阐述了遇到的编译链接错误及解决办法,包括.pro文件的修改和相关库文件的正确放置。同时,提醒读者最好自行安装配置LCM库。
摘要由CSDN通过智能技术生成

1. 说明

在windows10下Qt使用Lcm通讯库,以及数据传输测试,运行界面如下:
1)发送端:
请添加图片描述
2)接收端:
请添加图片描述

2. 主要代码段

1)发送端

void MainWindow::on_btn_select_clicked()
{
    QString path = QFileDialog::getOpenFileName(this, "选择 img", "./", "Image Files(*.jpg *.png *.jpeg)");
    if(path.isEmpty())
    {
        return;
    }

    QImage scaledimg;

    if(!(img.load(path))) //加载图像
    {
        QMessageBox::information(this,"failed","failed open image !");
        return;
    }
    img=img.convertToFormat(QImage::Format_RGB888);

    src_width=img.width();
    src_height=img.height();
    int scal_width=0;
    int scal_height=0;
    QString str_width,str_heigth;

    QRect originRect = ui->label_image->geometry();
    ui->label_image->setGeometry(originRect.x(),originRect.y(),400,300);
    int Mul=1;
    if(src_width/400>=src_height/300)
    {
        Mul=src_width/400;
    }
    else
    {
       Mul=src_height/300;
    }
    if(Mul>0)
    {
        scal_width=src_width/Mul;
        scal_height=src_height/Mul;
    }
    else
    {
        scal_width=src_width;
        scal_height=src_height;
    }

    scaledimg=img.scaled(scal_width,scal_height,Qt::KeepAspectRatio);


    ui->label_text->setText("src image: "+QString("width: ")+str_width.setNum(src_width)+QString(", height: ")+str_heigth.setNum(src_height));
    ui->label_image->setPixmap(QPixmap::fromImage(scaledimg));
	}


	void MainWindow::on_btn_send_clicked()
	{
	    //lcm feed msg
	    if(!mylcm.good())
	    {
	        QMessageBox::information(this,"lcm","lcm is not good!");
	        return;
	    }

    qint64 timestamp = QDateTime::currentDateTime().toMSecsSinceEpoch(); 
    std::string str_image_name;
    str_image_name=ui->lineEdit_image_name->text().toStdString();
    std::string str_channel_name;
    str_channel_name=ui->lineEdit_channel_name->text().toStdString();

    exlcm::test msg;
    msg.timestamp=timestamp;
    msg.p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值