В проекте я пытаюсь получить изображение от пользователя, используя каталог файлов, изменить его размер на значение, выбранное из поля со списком, и показать версию с измененным размером в приложении, но печатается только размер изображения. . Как я могу решить эту проблему? Поскольку я новичок в этом языке и программе, я не очень хорошо знаю основы, пожалуйста, помогите.
Код заголовка:
#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++
Программы на C++. Форум разработчиков
1720301817
Anonymous
В проекте я пытаюсь получить изображение от пользователя, используя каталог файлов, изменить его размер на значение, выбранное из поля со списком, и показать версию с измененным размером в приложении, но печатается только размер изображения. . Как я могу решить эту проблему? Поскольку я новичок в этом языке и программе, я не очень хорошо знаю основы, пожалуйста, помогите.
Код заголовка:
#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);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78715981/c-qt-gu%c4%b0-appl%c4%b0cat%c4%b0on-sizing-the-image-uploaded-by-the-user-using-numbers-1-10[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия