1.项目说明
此项目是在开发机器人控制地图过程中的小例子。
要求:1.地图过大时,通过滚动条控件Scroll Area进行滚动;
2.地图坐标是相当于控件的,不是整个界面;
3.点击一下添加一个按钮,并且按钮是固定的;
2.实现
1.在ui界面添加控件
首先在UI界面添加图片中的控件,可以根据自己需求添加,添加Scroll Area是因为地图过大需要通过鼠标控制,label主要是用来显示地图的。
2.固定坐标
添加下面代码可以使滚动条滚动坐标点的坐标不变(大概是这个意思!)
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
//为了使用滚动条滚动坐标点的坐标固定不动
ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
ui->scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
}
3.点击获取位置坐标
鼠标点击获取坐标点,每一行代码都有注释,自行参考根据自己需求更改。
void Form::mouseReleaseEvent(QMouseEvent *event) //不能使用点击事件,因为和提升界面MyLabel相冲突
{
//利用QImage获取图片的像素点长