使用QT编程实现图像显示

2025-10-02 12:38:04

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编程实现图像显示

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢