我正在使用这个SO question的答案来制作一个自动正确缩放的自定义图像小部件。它工作正常,但现在我正试图将图像小部件实例置于主窗口的中心。
我的想法是创建一个QHBoxLayout
,将图像小部件添加到其中,然后将 hBox 实例添加到 ui->verticalLayout。
不工作。图像仍然显示左对齐并显示错误消息:QLayout: Attempting to add QLayout "" to MainWindow "MainWindow", which has a layout
然后我尝试了一些关于“setAlignment”的变体,但图像根本没有出现。我的简单测试代码如下。
我在这里想念什么?
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPixmap pix;
pix.load("/Users/home/Desktop/test.jpg");
ImageLabel2* image = new ImageLabel2(this);
image->setPixmap(pix);
QHBoxLayout* hbox = new QHBoxLayout(this);
hbox->addWidget(image);
// hbox->setAlignment(image,Qt::AlignCenter);
hbox->setAlignment(Qt::AlignHCenter);
// ui->verticalLayout->addLayout(hbox);
ui->verticalLayout->addLayout(hbox);
// ui->verticalLayout->addWidget(image);
// ui->verticalLayout->setAlignment(image,Qt::AlignCenter);
// ui->verticalLayout->setAlignment(Qt::AlignHCenter);
}