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

Qt中获取控件所在界面的位置!该怎么解决

2013-10-11 
Qt中获取控件所在界面的位置!!QMyEditWidget::QMyEditWidget(QWidget *parent) :QWidget(parent){QVBoxLay

Qt中获取控件所在界面的位置!!

QMyEditWidget::QMyEditWidget(QWidget *parent) :
    QWidget(parent)
{
    QVBoxLayout *vBox = new QVBoxLayout;
    vBox->addWidget(new QLabel("111"));
    vBox->addWidget(new QLabel("222"));

    QPushButton *m_But = new QPushButton("123");
    QGridLayout *gBox = new QGridLayout;
    gBox->addWidget(m_But,0,1);
    gBox->addWidget(new QLabel("333"),0,1);

    QHBoxLayout *hBox = new QHBoxLayout;
    hBox->addLayout(vBox);
    hBox->addLayout(gBox);
    setLayout(hBox);
}


如上代码的一个界面。。请教如何获取 m_But 在界面中的位置!!


[解决办法]
m_But->pos();返回QPoint类型变量,获取位置。
[解决办法]
m_But应该要有父对象才能获得它的位置吧。
先给你的QPushButton加上父对象再调用1楼提供的函数试试
[解决办法]
试试看这个 m_But->geometry();
[解决办法]
我的5楼貌似不见了。。。

给QPushButton 加个父对象试试 pos()返回的是相对于父窗口的位置。
[解决办法]
引用:
引用:
试试看这个 m_But->geometry();


这个只能是 m_But的区域。。跟位置某有关系。。

你看过帮助文档吗?返回值QRect(const QPoint & topLeft, const QSize & size)第一个参数是位置,第二个参数是大小,哎。
[解决办法]
QPoint GlobalPoint(m_But->mapToGlobal(QPoint(0, 0)));//获取控件在窗体中的坐标
int x = GlobalPoint.x();
int y = GlobalPoint.y();
[解决办法]
构造函数里控件大小还未确定 不能在构造函数里获取
我也是碰到这个问题 终于解决了

热点排行