diff --git a/Classes/Reconstruction.cpp b/Classes/Reconstruction.cpp index 354d6fd..29ae4f9 100644 --- a/Classes/Reconstruction.cpp +++ b/Classes/Reconstruction.cpp @@ -2,6 +2,7 @@ #include #include #include +#include "DisplayPic.h" Reconstruction::Reconstruction(QWidget *parent) : QMainWindow(parent) @@ -10,21 +11,6 @@ Reconstruction::Reconstruction(QWidget *parent) ui.stackedWidget->setCurrentIndex(0); /* 如果用on_XXX_clicked()定义槽,Qt的元对象QMetaObject会自动的寻找相关的信号并链接,不能再用connect()链接了,否则就会连接两次。 connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(on_pushButton_clicked())); - connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(on_pushButton_2_clicked())); - connect(ui.pushButton_3, SIGNAL(clicked()), this, SLOT(on_pushButton_3_clicked())); - connect(ui.pushButton_4, SIGNAL(clicked()), this, SLOT(on_pushButton_4_clicked())); - connect(ui.pushButton_5, SIGNAL(clicked()), this, SLOT(on_pushButton_5_clicked())); - connect(ui.pushButton_6, SIGNAL(clicked()), this, SLOT(on_pushButton_6_clicked())); - connect(ui.pushButton_7, SIGNAL(clicked()), this, SLOT(on_pushButton_7_clicked())); - connect(ui.pushButton_8, SIGNAL(clicked()), this, SLOT(on_pushButton_8_clicked())); - connect(ui.pushButton_9, SIGNAL(clicked()), this, SLOT(on_pushButton_9_clicked())); - connect(ui.pushButton_10, SIGNAL(clicked()), this, SLOT(on_pushButton_10_clicked())); - connect(ui.pushButton_11, SIGNAL(clicked()), this, SLOT(on_pushButton_11_clicked())); - connect(ui.pushButton_12, SIGNAL(clicked()), this, SLOT(on_pushButton_12_clicked())); - connect(ui.pushButton_13, SIGNAL(clicked()), this, SLOT(on_pushButton_13_clicked())); - connect(ui.pushButton_14, SIGNAL(clicked()), this, SLOT(on_pushButton_14_clicked())); - connect(ui.pushButton_15, SIGNAL(clicked()), this, SLOT(on_pushButton_15_clicked())); - connect(ui.pushButton_16, SIGNAL(clicked()), this, SLOT(on_pushButton_16_clicked())); */ } @@ -139,8 +125,25 @@ void Reconstruction::on_pushButton_4_clicked() void Reconstruction::on_pushButton_9_clicked() { // todo 相机拍照 + QString picUrl = "Resources/image/test.png"; // 存储拍摄照片 - // todo 然后出来一个界面 拍摄到的照片,然后下面三个按钮:确定 取消 + DisplayPic *picDlg = new DisplayPic(); + picDlg->setPicUrl(picUrl); + connect(picDlg, SIGNAL(getPicAction(QString)), this, SLOT(setPicAction(QString))); + picDlg->show(); +} + +void Reconstruction::setPicAction(QString action) +{ + if(action=="confirmed") + { + qDebug("confirmed"); + // todo 存储图片路径 + }else if(action=="canceled") + { + qDebug("canceled"); + // 用户再拍一次 无需操作 + } } // 保存照片 diff --git a/Classes/Reconstruction.h b/Classes/Reconstruction.h index 721d18c..8fe59f5 100644 --- a/Classes/Reconstruction.h +++ b/Classes/Reconstruction.h @@ -12,6 +12,7 @@ public: private: Ui::ReconstructionClass ui; + private slots: void on_pushButton_clicked(); @@ -30,4 +31,5 @@ private slots: void on_pushButton_14_clicked(); void on_pushButton_15_clicked(); void on_pushButton_16_clicked(); + void setPicAction(QString action); }; diff --git a/DisplayPic.cpp b/DisplayPic.cpp new file mode 100644 index 0000000..cfd8ba7 --- /dev/null +++ b/DisplayPic.cpp @@ -0,0 +1,38 @@ +#include "DisplayPic.h" + +DisplayPic::DisplayPic(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + +} + +DisplayPic::~DisplayPic() +{ +} + +void DisplayPic::setPicUrl(QString pic) +{ + picUrl = pic; + if(picUrl.isEmpty()) + { + ui.label->setText("No Photo Taken"); + }else + { + ui.label->setPixmap(QPixmap(picUrl)); + } +} + +// 确定 +void DisplayPic::on_pushButton_clicked() +{ + emit getPicAction("confirmed"); + this->close(); +} + +// 取消 +void DisplayPic::on_pushButton_2_clicked() +{ + emit getPicAction("canceled"); + this->close(); +} diff --git a/DisplayPic.h b/DisplayPic.h new file mode 100644 index 0000000..1924ee1 --- /dev/null +++ b/DisplayPic.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include "ui_DisplayPic.h" + +class DisplayPic : public QWidget +{ + Q_OBJECT + +public: + DisplayPic(QWidget *parent = Q_NULLPTR); + ~DisplayPic(); + void setPicUrl(QString pic); + +private: + Ui::DisplayPic ui; + QString picUrl; + +private slots: + void on_pushButton_clicked(); + void on_pushButton_2_clicked(); + +signals: + void getPicAction(QString action); +}; diff --git a/DisplayPic.ui b/DisplayPic.ui new file mode 100644 index 0000000..2a69197 --- /dev/null +++ b/DisplayPic.ui @@ -0,0 +1,93 @@ + + + DisplayPic + + + + 0 + 0 + 684 + 497 + + + + DisplayPic + + + + + 10 + 10 + 661 + 421 + + + + + + + + + 20 + 20 + 621 + 371 + + + + + Adobe Devanagari + 20 + + + + PIC + + + Qt::AlignCenter + + + + + + + 120 + 450 + 93 + 28 + + + + + 榛戜綋 + 9 + + + + 纭畾 + + + + + + 440 + 450 + 93 + 28 + + + + + 榛戜綋 + 9 + + + + 鍙栨秷 + + + + + + + diff --git a/Loading.ui b/Loading.ui index 6d229dc..7b62cc4 100644 --- a/Loading.ui +++ b/Loading.ui @@ -16,8 +16,8 @@ - 340 - 150 + 360 + 200 151 41 @@ -25,7 +25,7 @@ Adobe Devanagari - 18 + 14 @@ -64,6 +64,25 @@ 鎸変换鎰忛敭杩涘叆 + + + + 260 + 120 + 321 + 41 + + + + + Adobe Devanagari + 20 + + + + 3D RECONSTRUCTION + + diff --git a/Resources/image/test.png b/Resources/image/test.png new file mode 100644 index 0000000..43a4930 Binary files /dev/null and b/Resources/image/test.png differ