读书人

qt 关于地图ToGlobal获取坐标 出现一个

发布时间: 2013-12-06 17:56:43 作者: rapoo

qt 关于mapToGlobal获取坐标 出现一个非常奇怪问题
因为控件可能被包含于某个控件之间,想获取该控件与整个界面原点的坐标,于是想到了mapToGlobal。

但是问题就出现了.

程序如下:


Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
qDebug()<<ui->lineEdit->mapToGlobal(QPoint(0, 0))<<"???????????????";
}



void Dialog::on_pushButton_clicked()
{
qDebug()<<ui->lineEdit->mapToGlobal(QPoint(0, 0))<<"???????????????";
}


在初始化过程中 获取的lineEdit的坐标是 QPoint(590,240) 这个是符合要求从界面原点获取的坐标

但是点击按钮后 一样的程序,获取lineEdit的坐标却是QPoint(977,440) 这个却是从整个屏幕获取到的坐标。

请问 我如果希望点击按钮能够获取到正常的坐标,也就是从整个界面原点到控件的坐标,应该怎么处理?
如果是直接使用ui->lineEdit->pos();获取的是相对父节点的坐标,不符合要求。

在线等,谢谢
[解决办法]
因为Dialog构造的时候窗口还没有显示出来
[解决办法]
你打印一下QDialog的pos就明白了

读书人网 >QT开发

热点推荐