Qt如何在没有任何布局的情况下放置QLabel

Qt how to put QLabel without any layout

谁能告诉我,是否可以在没有任何布局的情况下使用 QWidget。我有 QSplashScreen 图像作为背景,我想在我的启动画面中再添加一个 QLabel 和另一个图像,但是因为启动画面不可调整大小并且没有理由这样做,我不想使用任何 Layout。我只想添加 QLabel 图像并设置其几何形状。

没什么可做的:只需将您的小部件添加为初始屏幕的子项,然后手动设置其位置,或许还可以设置大小。

int main(int argc, char ** argv) {
  QApplication a{argc, argv};
  QSplashScreen splash;
  QLabel image{&splash};
  image.move(50, 50);
  ...
  splash.show();
  return a.exec();
}

与 Kuba Ober 的上述代码非常相似,但有一些小但必要的添加。

QPixmap pixmap(":/splash.png");   //from resources
QSplashScreen splash(pixmap);

QLabel label(&splash);
label.setPixmap(pixmap);    //you can use different image for label
label.setScaledContents(true);
label.setGeometry(50,50,50,50);
splash.show();