欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

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

更新时间: 2014-01-05 02:44:40 责任编辑: Author_N1

 

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();
--参考方法--
构造函数里控件大小还未确定 不能在构造函数里获取
我也是碰到这个问题 终于解决了
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:44:40
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13889/
本文WWW.DOC100.NET DOC100.NET版权所有。