gpt4 book ai didi

c++ - 根据窗口调整 QLabel 内的 QPixmap

转载 作者:行者123 更新时间:2023-11-30 04:02:48 32 4
gpt4 key购买 nike

在我的窗口类中,继承了 QMainWindow,我有一个包含 QPixmap 的 QLabel,每 20 毫秒更新一次。

我希望 QLabel 和其中的 QPixmap 根据窗口的大小调整大小。

我希望这个 Central Widget 占用尽可能多的空间,但也能够缩小它的大小。甚至比原来的尺寸还要小。但始终保持比例。

实际代码:

// in the window constructor
this->setWindowFlags(Qt::Window);
this->resize(500, 300);

this->setCentralWidget(this->label);

// in the updating function
QPixmap output;
output = output.fromImage(Mat2QImage(theImage));
this->label->setPixmap(output);

现在我试过:

output.scaled(this->label->x(), this->label->y(), Qt::KeepAspectRatio)

但是没用...我该怎么做?

编辑:我正在使用 Qt 5.3

最佳答案

QPixmap::scaled 是常量。下一个代码不起作用:

// in the window constructor
this->setCentralWidget(this->label);

// in the updating function
QPixmap output;
output = output.fromImage(Mat2QImage(theImage));
output.scaled( this->label->x(), this->label->y(), Qt::KeepAspectRatio );
this->label->setPixmap(output);

因为输出不会改变。也许你需要这样的东西:

// in the window constructor
this->setCentralWidget(this->label);

// in the updating function
QPixmap output;
output = output.fromImage(Mat2QImage(theImage));
output = output.scaled( this->label->x(), this->label->y(), Qt::KeepAspectRatio );
this->label->setPixmap(output);

关于c++ - 根据窗口调整 QLabel 内的 QPixmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24889921/

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