• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
冷面杰拉德
帮助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);

运行,打开一张影像,显示结果:
学新通
影像尺寸太大,下一步看看怎么实现放大缩小

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggeggc
系列文章
更多 icon
同类精品
更多 icon
继续加载