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