QT学习笔记(一)——vs2019搭建与配置Qt,并实现影像显示

15 篇文章 1 订阅

vs2019搭建与配置Qt,并实现影像显示

1.关于qt在vs2019的配置

主要参考了这个博客
其中有一个我在配置过程中出现的问题,在此记录一下

Qt Visual Studio Tools 在vs2019一直无法加载,一直在initializing,且提示"未能正确加载qtvstoolspackage包"

解决方法:更新vs2019,在菜单->帮助->检查更新,按步骤进行更新,但VS更新总是提示网络问题下载失败,因此参考这个博客,可解决vs2019无法更新的问题。

2.显示影像

配置完qt后,在vs2019中新建“Qt Widgets Application”项目,我新建的项目名随便起名就叫“qt”
新建的工程可以看到有这样几个文件
在这里插入图片描述
因为要打开一张影像,所以首先在qt类里添加成员变量

QImage m_img;

然后在qt.cpp里添加一个打开图像文件的菜单项,代码如下:

qt::qt(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    QAction* myAc1 = new QAction(this);

    myAc1->setText(QString::fromLocal8Bit("打开"));

    myAc1->setStatusTip("open image");

    connect(myAc1, SIGNAL(triggered()), this, SLOT(OpenImage()));

    QMenu* fileMenu = menuBar()->addMenu(QString::fromLocal8Bit("文件"));

    fileMenu->addAction(myAc1);
}

运行下,效果如下
在这里插入图片描述

然后继续在cpp中添加槽函数OpenImage的响应代码:

void qt::OpenImage()

{

    QString lstFile = QFileDialog::getOpenFileName(this, tr("Open Image"), "", tr("JPG (*.jpg);; BMp (*.bmp)"));
    if (lstFile.isEmpty())
    {
        return;
    }
    m_img.load(lstFile); // 加载文件
    repaint(); // 激发绘图函数
}

添加图像绘制函数:

void qt::paintEvent(QPaintEvent* event) {
    QPainter painter(this);

    if (!m_img.isNull())

        painter.drawImage(0, 0, m_img);

    QWidget::paintEvent(event);
}

当然,不要忘记在.h头文件中,加入这两个函数,并且前面要加slots,不然连接不上去!

public slots:
	void OpenImage();
	void paintEvent(QPaintEvent* event);

运行,打开一张影像,显示结果:
在这里插入图片描述
影像尺寸太大,下一步看看怎么实现放大缩小

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值