QPushButton的规模不断扩大

时间:2016-02-01 23:37:09

标签: qt

我试图通过按钮上的网络摄像头显示捕获的图像。问题是每次我捕获新图像时按钮的大小都会增加。这是代码:

connect(imageCapture, SIGNAL(imageCaptured(int,QImage)), this, SLOT(processCapturedImage(int,QImage)));
.
.
.
.

void Camera::processCapturedImage(int requestId, const QImage& img)
{
    Q_UNUSED(requestId);
    QImage scaledImage = img.scaled(ui->lastImageCapturedBtn->size(),
                                Qt::KeepAspectRatio,
                                Qt::SmoothTransformation);
    QPixmap capturedImage = QPixmap::fromImage(scaledImage);
    ui->lastImageCapturedBtn->setIcon(QIcon(capturedImage));
    ui->lastImageCapturedBtn->setIconSize(capturedImage.rect().size());
}

我改变了

QImage scaledImage = img.scaled(ui->lastImageCapturedBtn->size(),
                                Qt::KeepAspectRatio,
                                Qt::SmoothTransformation);`

QImage scaledImage = img.scaled(298,298);没有效果,每按一次捕捉一个新图像,按钮就变得越来越大。

我也改变了行

ui->lastImageCapturedBtn->setIconSize(capturedImage.rect().size());

ui->lastImageCapturedBtn->setIconSize(ui->lastImageCapturedBtn->size());

- 再次出现相同的行为

该按钮是使用Qt Designer创建的。我将maximumSize更改为298x298,将iconSize更改为298x298

1 个答案:

答案 0 :(得分:0)

我将minimumSize更改为298x298,现在它按照我的预期方式工作