生活随笔
收集整理的這篇文章主要介紹了
Qt 在GraphicsView中 打开一幅图片
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)述:
記錄一下如何在 Qt中打開(kāi)一幅圖片
步驟:
1. 新建一個(gè)項(xiàng)目,Qt C++ 項(xiàng)目, Qt GUI應(yīng)用
之后按步驟新建就可以了,?
2. 勾選中下面這三個(gè)
3. 新建一個(gè)MainWindow
點(diǎn)擊下一步, 完成, 工程創(chuàng)建完畢
4 這一步之后是具體如何用Qt打開(kāi)一幅圖片
雙擊mainwindow.ui 進(jìn)入design模式,
選中
拖拽到上方
于是就出現(xiàn)了一個(gè)窗口。
5. 之后添加一個(gè)打開(kāi)圖片的按鈕
拖拽一個(gè)PushButton, 用同樣的方法,之后改變名字為OpenImageBtn這個(gè)是Button對(duì)象實(shí)例的名字
6. 添加信號(hào)事件, 按了OpenImageBtn之后,打開(kāi)圖片文件
回到 需要定義一個(gè)SLOT信號(hào)槽,來(lái)處理按了button的事件,這里有一個(gè)on_slotOpenImage_triggered()?信號(hào)槽
具體參看代碼.其他包括文件打開(kāi)的代碼,參考網(wǎng)上
代碼:
頭文件——
mainwindow.h
[cpp]?view plain
?copy #ifndef?MAINWINDOW_H?? #define?MAINWINDOW_H?? ?? #include?<QMainWindow>?? #include?<QImage>?? #include?<QGraphicsView>?? #include?<QGraphicsScene>?? #include?<QFileDialog>?? ?? namespace?Ui?{?? ????class?MainWindow;?? }?? ?? class?MainWindow?:?public?QMainWindow?? {?? ????Q_OBJECT?? ?? public:?? ????explicit?MainWindow(QWidget?*parent?=?0);?? ????~MainWindow();?? ?? private:?? ????Ui::MainWindow?*ui;?? ????QImage?*image;?? ?? private?slots:?? ????void?on_slotOpenImage_triggered();??? };?? ?? #endif?//?MAINWINDOW_H??
源文件——
main.cpp
[cpp]?view plain
?copy #include?<QtGui/QApplication>?? #include?"mainwindow.h"?? ?? int?main(int?argc,?char?*argv[])?? {?? ????QApplication?a(argc,?argv);?? ????MainWindow?w;?? ????w.show();?? ?? ????return?a.exec();?? }??
mainwindow.cpp
[cpp]?view plain
?copy #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();?? ?? ?????? ?????connect(ui->OpenImageBtn,SIGNAL(clicked()),?this,?SLOT(on_slotOpenImage_triggered()));?? ?? }?? ?? void?MainWindow::on_slotOpenImage_triggered()?? {?? ????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();?? ????????}?? ????}?? }?? ?? MainWindow::~MainWindow()?? {?? ????delete?image;?? ????delete?ui;?? }??
實(shí)現(xiàn)效果:
未打開(kāi)時(shí):
打開(kāi)后:
未完待續(xù)。。。
FROM:?http://blog.csdn.net/anialy/article/details/8181038
總結(jié)
以上是生活随笔為你收集整理的Qt 在GraphicsView中 打开一幅图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。