bool example_first::eventFilter(QObject* watched,QEvent* event)
{
x = this->width();
y = this->height();
size = (x > y) ? y/18 : x/18;
x -= size;
y -= size;
if(watched == label1)
{
if(event->type() == QEvent::MouseButtonRelease)
{
label1->setGeometry(QRect(3*x/16, 9*y/18, size, size));
label21->setText(tr("Mouse button released from left image"));
}
}
return QMainWindow::eventFilter(watched,event);
}
label1->setGeometry(QRect(3*x/16, 9*y/18, size, size));
这句话放到if中就不好使,把里边的那个if注释掉就好使,但是
label21->setText(tr("Mouse button released from left
这条语句却是好使的
,这个要怎么修改
qt label setGeometry
------解决方案--------------------
想要setGeometry有效,控件就不能在布局里。
如果使用了布局,控件大小有布局自动控制。
------解决方案--------------------
楼上正解~~~~
------解决方案--------------------
1楼说的是,在布局中的控件Geometry是会被无视的,要看sizePolicy
好像是这样 ^_^