使用QT编程实现图像显示

时间:2026-02-12 11:50:57

1、使用vs2013新建一个Qt Application工程ImageView,如下图:

使用QT编程实现图像显示

2、2. 在 ImageView类里添加一个私有成员变量,代码如下:

 QImage m_img;

3、添加一个打开图像文件的菜单项,代码如下:

ImageView::ImageView(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);

}

效果图如下:

使用QT编程实现图像显示

4、添加槽函数OpenImage的响应代码:

void ImageView::OpenImage()

{

    QString lstFile = QFileDialog::getOpenFileName(this, tr("Open Image"), "", tr("JPG (*.jpg);; BMp (*.bmp)"));

    if (lstFile.isEmpty())

    {

        return;

    }

    m_img.load(lstFile); // 加载文件

    repaint(); // 激发绘图函数

}

5、添加图像绘制函数,具体如下:

void ImageView::paintEvent(QPaintEvent *event)

{

QPainter painter(this);

if (!m_img.isNull())

painter.drawImage(0, 0, m_img);

QWidget::paintEvent(event);

}

6、运行效果图如下:

使用QT编程实现图像显示

© 2026 智德知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com