本Demo使用QT设计的。

mianwindow.cpp代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    resize(800,600);
    this->image = new QImage();
    this->label= new QLabel();
    connect(ui->OpenImageBtn,SIGNAL(clicked()), this, SLOT(on_OpenImageBtn_clicked()));
    connect(ui->pushButton_2,SIGNAL(clicked()), this, SLOT(on_pushButton_2_clicked()));
}

MainWindow::~MainWindow()
{
    delete ui;
    delete image;
    delete label;
}

void MainWindow::on_pushButton_clicked()
{
    QApplication::exit();
}


QString MainWindow::on_OpenImageBtn_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(
                this, "open image file",
                ".",
                "Image files (*.bmp *.jpg *.pbm *.pgm *.png *.ppm *.xbm *.xpm);;All files (*.*)");
    if(fileName != "")
    {
        if(image->load(fileName))
        {
            QGraphicsScene *scene = new QGraphicsScene;
            scene->addPixmap(QPixmap::fromImage(*image));
            ui->graphicsView->setScene(scene);
            ui->graphicsView->resize(image->width() + 10, image->height() + 10);


        }
        ui->graphicsView->show();

    }
    c=fileName;
    return c;

}

void MainWindow::on_pushButton_2_clicked()
{
//    QString fileName = QFileDialog::getOpenFileName(
//                this, "open image file",
//                ".",
//                "Image files (*.bmp *.jpg *.pbm *.pgm *.png *.ppm *.xbm *.xpm);");

    printf("%s",c);
   if(c == "G:/pic/1.jpg")//fileName是绝对地址。
    {
        ui->label->setText("1");
//        return 0;
        //ui->graphicsView->show();

    }
    else
    {
        ui->label->setText("0");
    }



}

 

main.cpp代码如下:

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

 

mainwindow.h代码如下:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QImage>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QFileDialog>
#include <QLabel>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    QString c;

private slots:
    void on_pushButton_clicked();

       QString on_OpenImageBtn_clicked();

    void on_pushButton_2_clicked();

private:
    Ui::MainWindow *ui;
    QImage *image;
    QLabel *label;
};

#endif // MAINWINDOW_H

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐