我在QT设计器的C ++中使用Qt 5.7。在中央小部件中,我有两个标签符合图片。一张图片很大(标签),第二张较小,较小( label_2 )位于较大的图片前面。当我调整 MainWindow 的大小时,图片不会调整其大小。我试图使用布局来调整它们,但我的问题是较小的图片必须覆盖较大的图片(地图和地图位置)。当我使用布局时,图片总是放在不同的地方。如何强制标签中的图片(标签,label_2 )根据主窗口调整其大小而不使用布局?
答案 0 :(得分:1)
您可以处理主窗口的调整大小事件并相应地设置标签几何。
在这种情况下,我建议重新实现设计器创建的小部件实现中的resizeEvent(QResizeEvent *event)
,以处理调整大小事件。
示例:
void MainWindow::resizeEvent(QResizeEvent *event)
{
QMainWindow::resizeEvent(event);
int x1, y1, w1, h1;
int x2, y2, w2, h2;
// compute the labels geometry
// you can get the old and the new window size
// calling event->oldSize() and event->size()
//....
label->setGeometry(x1, y2, w1, h1);
label_2->setGeometry(x2, y2, w2, h2);
}