qt调用重写GraphicsView后的类的方法

TGraphicsView *view = new TGraphicsView(this);
     //ui->horizontalLayout->addWidget(view);
         view->setScene(scene);
         setCentralWidget(view);
TGraphicsView类继承了GraphicsView类
 
复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "tgraphicsview.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);



   // QGraphicsView view(&scene);
    //view.show();
    QGraphicsScene *scene = new QGraphicsScene(this);
    ui->graphicsView->setScene(scene);
     QPixmap  image =  QPixmap (":/img/qq.jpg");
    // scene->addText("Hello, world!");

     double scale = 1.0;
     double scaleX = static_cast<double>(ui->graphicsView->width()) / (image.width() + 1);// 不+1会有滚动条
     double scaleY = static_cast<double>(ui->graphicsView->height()) / (image.height() + 1);// 不+1会有滚动条
     if (scaleX > scaleY)
     {
         scale = scaleY;
     }
     else
     {
         scale = scaleX;
     }

     // 缩放
     //image = image.scaled(image.width() * scale, image.height() * scale, Qt::KeepAspectRatio);

     scene->addPixmap(image);

     TGraphicsView *view = new TGraphicsView(this);
     //ui->horizontalLayout->addWidget(view);
         view->setScene(scene);
         setCentralWidget(view);





        // scene->clear();
        // scene->addPixmap(image);
        // scene->update();
        // this->resetTransform();
       //  this->setSceneRect(image.rect());
        // this->fitInView(QRect(0, 0, m_image.width(), m_image.height()), Qt::KeepAspectRatio);





}
//缩略图测试
MainWindow::~MainWindow()
{
    delete ui;
}
复制代码

 

posted @   txwtech  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-09-01 src5_3 QT编辑框在光标处插入框架
2021-09-01 c# winform程序启动时判断本身是否在运行,是否已经运行
点击右上角即可分享
微信分享提示