首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt 关于地图ToGlobal获取坐标 出现一个非常奇怪有关问题

2013-12-06 
qt 关于mapToGlobal获取坐标 出现一个非常奇怪问题因为控件可能被包含于某个控件之间,想获取该控件与整个

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就明白了

热点排行