gpt4 book ai didi

c++ - 更改图像的大小以适应 GUI 窗口的新大小

转载 作者:行者123 更新时间:2023-11-28 06:47:12 25 4
gpt4 key购买 nike

我已经阅读了有关调整大小策略的 Qt 文档,但我找不到如何实现更改图像大小以适应 Qlabel 的新大小的方案。

这是我的GUI结构

mainLayout:
toplayout:
QLabel
QPushButton

现在我有了 cv::Mat 图像。我已转换为 QPixmap

Window::Window(QWidget *parent): QDialog(parent)
{
// Widgets
browserButton = new QPushButton(tr("Open"));
imageLabel = new QLabel;

imageLabel->setAlignment(Qt::AlignHCenter);
imageLabel->setScaledContents(true);


// Connect Actions
connect(browserButton, SIGNAL(clicked()), this, SLOT(browserClicked()));

// Layouts
QVBoxLayout *topLayout = new QVBoxLayout;
topLayout->addWidget(imageLabel);
topLayout->addWidget(browserButton);

// Main Layout
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(topLayout);
setLayout(mainLayout);
setWindowTitle("Image Browser");
}

这是按钮

void Window::browserClicked()
{
// Get file name as QString
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"),
NULL,
tr("Image Files (*.png *.jpeg *.jpg *.bmp)"));

// Read file name as String not QString and store the image
m_original_CVimg = cv::imread(fileName.toStdString());

imageLabel->setPixmap(this->cvMatToQPixmap(m_original_CVimg));

}

每次用户更改窗口大小时,我都想调整图像的大小。如果我扩大窗口,图像也会扩大,但问题是如果我缩小窗口,窗口的大小就会受到图像大小的限制。有什么建议

最佳答案

看看QResizeEvent .

关于c++ - 更改图像的大小以适应 GUI 窗口的新大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24746124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com