Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void MainWindow::slotConstructWaterBodies(const QString& mapName, const QString& mapImagePath)
- {
- ui->mylabel->setPixmap(mapImagePath);
- /*Прочий код*/
- }
- void MainWindow::resizeEvent(QResizeEvent *event)
- {
- adjustWidgetSize();
- QMainWindow::resizeEvent(event);
- }
- // Задает фиксированный размер виджета по ширине для сохранения пропорций картинки внутри него
- void MainWindow::adjustWidgetSize()
- {
- int widthCurrentPixMap = 1;
- int heightCurrentPixMap = 1;
- if(pixPtr_) {
- widthCurrentPixMap = pixPtr_->width();
- heightCurrentPixMap = pixPtr_->height();
- }
- const QSize pixmapSize(widthCurrentPixMap, heightCurrentPixMap);
- ui->mylabel->setFixedWidth(
- ui->centralWidget->height() * pixmapSize.width() / pixmapSize.height()
- );
- }
- void MainWindow::slotConstructWaterBodies(const QString& mapName, const QString& mapImagePath)
- {
- QPixmap *pixmap = new QPixmap(mapImagePath);
- pixPtr_ = pixmap;
- QGraphicsScene *scene = new QGraphicsScene;
- QGraphicsPixmapItem *item = new QGraphicsPixmapItem(*pixPtr_);
- item->setTransformationMode(Qt::SmoothTransformation);
- scene->addItem(item);
- ui->graphicsViewMap->setScene(scene);
- ui->graphicsViewMap->fitInView(scene->sceneRect(), Qt::IgnoreAspectRatio);
- /*Прочий код*/
- }
- void MainWindow::resizeEvent(QResizeEvent *event)
- {
- adjustWidgetSize();
- adjustScaledPixmap();
- QMainWindow::resizeEvent(event);
- }
- // Задает фиксированный размер виджета по ширине для сохранения пропорций картинки внутри него
- void MainWindow::adjustWidgetSize()
- {
- int widthCurrentPixMap = 1;
- int heightCurrentPixMap = 1;
- if(pixPtr_) {
- widthCurrentPixMap = pixPtr_->width();
- heightCurrentPixMap = pixPtr_->height();
- }
- const QSize pixmapSize(widthCurrentPixMap, heightCurrentPixMap);
- ui->graphicsViewMap->setFixedWidth(
- ui->centralWidget->height() * pixmapSize.width() / pixmapSize.height()
- );
- }
- void MainWindow::adjustScaledPixmap()
- {
- QGraphicsScene *scene = new QGraphicsScene;
- QGraphicsPixmapItem *item = new QGraphicsPixmapItem(*pixPtr_);
- item->setTransformationMode(Qt::SmoothTransformation);
- scene->addItem(item);
- ui->graphicsViewMap->setScene(scene);
- ui->graphicsViewMap->fitInView(scene->sceneRect(), Qt::IgnoreAspectRatio);
- }
Add Comment
Please, Sign In to add comment