1.踩坑:已解决
qt5 添加multimedia包 cmake编译错误_lx37213721的博客-CSDN博客
2.qnode类和mainWindow类中的信息如何传递?
qnode类中接收订阅话题,如果mainWindow类中需要访问qnode话题所携带的信号,则需要在qnode.hpp中定义一个信号,
Q_SIGNALS:
void loggingUpdated();
void rosShutdown();
void speed_vel(float,float);
在qnode里的回调函数里发送信号:
void QNode::odom_callback(const nav_msgs::Odometry &msg)
{
emit speed_vel(msg.twist.twist.linear.x,msg.twist.twist.linear.y);
}
mainWindow类中连接:
connect(&qnode,SIGNAL(speed_vel(float,float)),this,SLOT(slot_update_dashboard(float,float)));
接受者this是当前对象。
mainWindow中对槽函数进行定义:
void MainWindow::slot_update_dashboard(float x,float y)
{
ui.label_dir_x->setText(x>0?"正向":"反向");
ui.label_dir_y->setText(y>0?"正向":"反向");
speed_x_dashBoard->setValue(abs(x)*100);
speed_y_dashBoard->setValue(abs(y)*100);
}
3.电池电量的显示与实现
概览:
订阅电量话题、回调函数中发布自定义信号、连接信号、槽函数更新ui显示
rostopic echo p