资源简介
添加OBJ文件至Qml,通过qwt创建操控界面,通过Qt创建虚拟摇杆,采用qml与c++交互,实时控制直升机运动。

代码片段和文件信息
#include “control.h“
#include “ui_control.h“
#include
#include
Control::Control(QWidget *parent) :
QDialog(parent)
ui(new Ui::Control)
{
helicopter=new Helicopter(this);
ui->setupUi(this);
QwtLinearColorMap *DirectionThermo_1map = new QwtLinearColorMap();
DirectionThermo_1map->setColorInterval( Qt::blue Qt::red );
ui->Thermo_3->setColorMap( DirectionThermo_1map );
ui->Thermo->setOriginMode( QwtThermo::OriginCustom );
ui->Thermo->setOrigin( 0.0 );
ui->Thermo_2->setOriginMode( QwtThermo::OriginCustom );
ui->Thermo_2->setOrigin( 0.0 );
connect(ui->verticalSliderSIGNAL(valueChanged(int))thisSLOT(SetThrottle()));
}
Control::~Control()
{
delete ui;
}
//===================================鼠标移动信息获取,虚拟手柄===================================
void Control::mouseMoveEvent(QMouseEvent *event)
{
Mouse_Pos = event->pos();
Dis = sqrt(double(pow(Mouse_Pos.x() -1092) + pow(Mouse_Pos.y() -1092)));
Button_Pos = ui->label->pos();
MouseX=Button_Pos.x()-80;
MouseY=Button_Pos.y()-80;
if(Dis<=100){
ui->label->move(Mouse_Pos.x()-29Mouse_Pos.y()-29);
}else if(Dis<=150){
Ratio=100/Dis;
ui->label->move((Mouse_Pos.x()-109)*Ratio+80(Mouse_Pos.y()-109)*Ratio+80);
}
ui->Thermo->setValue(-MouseY);
ui->Thermo_2->setValue(MouseX);
emit helicopter->receiveRotation(MouseXMouseY);
}
void Control::mouseReleaseEvent(QMouseEvent *event)
{
ui->label->move(8080);
Button_Pos = ui->label->pos();
MouseX=MouseY=0;
ui->Thermo->setValue(MouseY);
ui->Thermo_2->setValue(MouseX);
emit helicopter->receiveRotation(MouseXMouseY);
}
//==========================================================================================
void Control::SetThrottle()
{
Throttle=ui->verticalSlider->value();
ui->Thermo_3->setValue(Throttle);
emit helicopter->receiveThrottle(Throttle);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4513 2017-10-24 14:43 feiji\airscrew.obj
文件 3389 2017-10-25 08:55 feiji\Airscrew.qml
文件 1111 2017-10-24 15:53 feiji\airscrewf.obj
文件 105 2017-10-24 17:07 feiji\airscrewf.obj.mtl
文件 3072 2017-10-25 09:09 feiji\Airscrewf.qml
文件 1109 2017-10-24 17:07 feiji\airscrewg.obj
文件 72715 2017-10-19 14:43 feiji\axis.obj
文件 2850 2017-10-24 12:02 feiji\BasicCamera.qml
文件 2046 2017-10-26 12:04 feiji\control.cpp
文件 727 2017-10-26 11:50 feiji\control.h
文件 4992 2017-10-26 11:27 feiji\control.ui
文件 266 2017-10-19 16:07 feiji\deployment.pri
文件 772 2017-10-25 09:27 feiji\Empennage.qml
文件 1146 2017-10-26 11:29 feiji\feiji.pro
文件 23945 2017-10-26 13:51 feiji\feiji.pro.user
文件 598 2017-10-26 13:24 feiji\helicopter.cpp
文件 484 2017-10-26 13:09 feiji\helicopter.h
文件 159800 2017-10-25 09:17 feiji\helicopter.obj
文件 105 2017-10-25 09:17 feiji\helicopter.obj.mtl
文件 1350 2017-10-25 09:29 feiji\Helicopter.qml
文件 700 2017-10-25 19:54 feiji\main.cpp
文件 6477 2017-10-26 13:20 feiji\main.qml
文件 3113 2017-10-19 16:25 feiji\Qhow.qml
文件 861 2017-10-25 09:01 feiji\qml.qrc
文件 3146 2017-10-24 11:44 feiji\robustwirefr
文件 4465 2017-10-24 11:44 feiji\robustwirefr
文件 437 2017-10-24 11:44 feiji\robustwirefr
文件 4425 2017-10-25 19:36 feiji\Show.qml
文件 1764501 2016-06-13 01:44 feiji\toyplane.obj
文件 3071 2017-10-25 08:53 feiji\TrefoilKnot.qml
............此处省略12个文件信息
- 上一篇:VC/MFC 布局类
- 下一篇:三边测距算法
相关资源
- c++ 虚拟摄像头
- 成都理工大学2018unity试题
- 操作系统课程设计(生产者-消费者存
- QQ可用 Directshow实现的虚拟摄像头win
- VT虚拟化驱动+内存读写+机器码修改源
- 基于C++的虚拟串口通讯
- VC++中Opengl实现建筑物虚拟漫游
- VC实现虚拟打印机的框架源代码
- OpenGL 建筑物漫游
- 虚拟磁盘项目完全打包版本
- TCPIP实用程序&温度数据采集系统程序
- 简易PC虚拟串口示波器VC++整个工程源
- 虚拟火灾逃生模拟仿真系统
- 虚拟三维场景opengl编程
- mfc开发的虚拟列表控件(包含3个)
- C语言实现建议的虚拟文件系统
- 虚拟机的设计与实现CC++(源代码和书
- 基于MFC的虚拟键盘
- C++虚拟数字键盘 源代码 可扩展
- Directshow实现的虚拟摄像头win10+vs2013
- 基于VS2010MFC平台使用C++编写的上位机
- C++方式实现stl、obj、3DS三种3D模型加载
- C++实现按键精灵-完整版-vs2013-可以跑
- C8051F310虚拟I2C C语言代码
- 操作系统 虚拟存储器地址转换
- mfc虚拟桌面
- 虚拟内存管理FIFO、LRU、OPT
- C语言程序设计报告——虚拟示波器
- Linux虚拟文件系统vfs的模拟代码
- 倍福+虚拟机+twincat.txt
评论
共有 条评论