Qt中特定点的图像

Qt中特定点的图像,qt,qt4,Qt,Qt4,我试图将.png图像(公司徽标)放置在特定点(坐标)上。我已经放置了几个按钮,一个接一个,现在我希望图像显示在这些按钮的正下方。下面的代码应该可以做到这一点,但坐标根本不起作用 //QLabel myLabel; QVBoxLayout *layout; // class members, initialized with 'this' QPixmap pixmap("v.png"); myLabel.setPixmap(pixmap); myLabel.setMask(pixmap.mask(

我试图将.png图像(公司徽标)放置在特定点(坐标)上。我已经放置了几个按钮,一个接一个,现在我希望图像显示在这些按钮的正下方。下面的代码应该可以做到这一点,但坐标根本不起作用

//QLabel myLabel; QVBoxLayout *layout; // class members, initialized with 'this'
QPixmap pixmap("v.png");
myLabel.setPixmap(pixmap);
myLabel.setMask(pixmap.mask());
myLabel.setGeometry(QRect(312, 454, 21, 20));
layout->addWidget(&myLabel);

我应该如何修改代码以简单地包含此图像,可能是在特定坐标处(就像QPushButton一样)?请注意,注释掉最后一行会删除图像,但是,即使显示图像,也无法单击按钮(并且它们不是“布局”的一部分)请提供能够在给定坐标下实现图像定位的代码。

您必须显示标签或将其放置在布局中,或者确保在构造函数中为其指定了父级

myLabel.setParent(parent_window)
setParent方法可能还需要您显示

myLabel.show()


QLayout
是一个控制器,用于定位添加到其中的小部件。这就是为什么为小部件设置坐标然后将其放置到布局中毫无意义。一旦小部件显示出来,布局就会改变小部件的坐标

此外,如果您询问如何设置坐标中的特定位置,则根本不应使用
QLayout
,因为它将更改您设置的任何位置

QPixmap pixmap("v.png");
myLabel.setPixmap(pixmap);
myLabel.setMask(pixmap.mask());
myLabel.setFixedSize(21, 20);
myLabel.move(312, 452); //ensure that this coordinates are in you widget
myLabel.show();

myLabel
是该类的成员变量吗?图像的路径正确吗?如何添加按钮?使用代码还是在Qt Designer中?位于哪里?那么如何使用myLabel呢?@thuga我已经将myLabel作为类的一员,并添加了QVBoxLayout*layout=new QVBoxLayout(this);,和布局->添加小部件(&myLabel)。显示图像,但坐标似乎不影响位置。@user3560285这是因为布局。当小部件位于布局内时,不能使用
setGeometry
QPixmap pixmap("v.png");
myLabel.setPixmap(pixmap);
myLabel.setMask(pixmap.mask());
myLabel.setFixedSize(21, 20);
myLabel.move(312, 452); //ensure that this coordinates are in you widget
myLabel.show();