Qt中获取控件所在界面的位置!该如何解决
Qt中获取控件所在界面的位置!!C/C++ codeQMyEditWidget::QMyEditWidget(QWidget *parent) :QWidget(parent
Qt中获取控件所在界面的位置!!
C/C++ codeQMyEditWidget::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的区域。。跟位置某有关系。。[解决办法] QPoint GlobalPoint(m_But->mapToGlobal(QPoint(0, 0)));//获取控件在窗体中的坐标
int x = GlobalPoint.x();
int y = GlobalPoint.y();
[解决办法] 构造函数里控件大小还未确定 不能在构造函数里获取
我也是碰到这个问题 终于解决了