В проекте я пытаюсь получить изображение от пользователя, используя каталог файлов, изменить его размер на значение, выбранное из поля со списком, и показать версию с измененным размером в приложении, но печатается только размер изображения. . Как я могу решить эту проблему? Поскольку я новичок в этом языке и программе, я не очень хорошо знаю основы, пожалуйста, помогите.
Код заголовка:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "qlabel.h"
#include
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void openImage();
QLabel *label;
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Код главного окна:
#include "mainwindow.h"
#include
#include "qdialog.h"
#include "qpushbutton.h"
#include "ui_mainwindow.h"
#include
#include
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("Hello Label");
resize(400,500);
ui->comboBox->addItem("1", QVariant(1));
ui->comboBox->addItem("2", QVariant(2));
ui->comboBox->addItem("3", QVariant(3));
ui->comboBox->addItem("4", QVariant(4));
ui->comboBox->addItem("5", QVariant(5));
ui->comboBox->addItem("6", QVariant(6));
ui->comboBox->addItem("7", QVariant(7));
ui->comboBox->addItem("8", QVariant(8));
ui->comboBox->addItem("9", QVariant(9));
ui->comboBox->addItem("10", QVariant(10));
QVariant selectedData = ui->comboBox->itemData(ui->comboBox->currentIndex());
int selectedValue = selectedData.toInt();
label->setFixedSize(selectedValue*225,selectedValue*225);
label->setScaledContents(true);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::openImage()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Resim Seç"), "", tr("Resim Dosyaları (*.png *.jpg *.bmp)"));
if (!fileName.isEmpty()) {
QPixmap pixmap(fileName);
ui->label->setPixmap(pixmap.scaled(ui->label->size(), Qt::KeepAspectRatio));
ui->label->setAlignment(Qt::AlignCenter);
}
}
void MainWindow::on_pushButton_clicked()
{
connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::openImage);
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... mbers-1-10
ПРИЛОЖЕНИЕ C++ QT GUİ: изменение размера изображения, загружаемого пользователем, с использованием чисел 1–10, взятых из ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение