2017-07-11 2 views
-3

ので、私のように見えるクラスを持つFUNCに戻り機能を転送する方法。それで、私はCameraViewクラスのインスタンスのQImageを関数showに転送する必要があります。どのように我々C++は、値が

私はかなり良い問題を解決する必要が
void MainWindow::Show(QImage const *img,QGraphicsView *view){ 

QGraphicsScene *tempImg = new QGraphicsScene(); 
tempImg->addPixmap(QPixmap::fromImage(*img)); 

view->setScene(tempImg); 
} 

void MainWindow::on_pushButton_clicked() 
{ 
QImage RIImg("/root/Desktop/label.jpg"); 
CameraView view(RIImg); 
//error 
this->Show(&(view.GetView()), ui->NormalImg);/// 
} 

、私たちはview.GetViewにQImageののインスタンスを同一視する方法()とショーを(機能するために、そのインスタンスの転送は)ひどいに見えるこのサイト上の誰もが知ってください。それで決めることができますか?

+0

あなたは非常に明確ではないショー – pm100

+0

にCameraViewのインスタンスを渡す必要があります。どのような価値をどの機能に移したいですか?関数はパラメータを取ることができるのは分かりますか? – user463035818

+0

'MainWindow :: Show'関数で、' CameraView :: GetView'を実行するために 'CameraView'のインスタンスを作成する必要があります。 'MainWindow :: on_pushButton_clicked()'関数を参照してください。 –

答えて

0

メンバーをMainWindowクラスに追加してみてください。

ところで、あなたはthis->構文なしでそれにアクセスすることができます:

class MainWindow 
{ 
// ... 
    CameraView m_camera_view; 
}; 

void MainWindow::on_pushButton_clicked() 
{ 
    QImage RIImg("/root/Desktop/label.jpg"); 
    CameraView m_camera_view(RIImg); 
    Show(m_camera_view.GetView(), ui->NormalImg);/// 
} 
+0

上記のとおり、 'GetView'は' QImage'を返します。 'Show'は' QImage * 'を望んでいます – IlBeldus

+0

/root/Desktop/QTprogramms/image_ex/AffinTransf/mainwindow.cpp:9:エラー: 'CameraView :: CameraView()'への呼び出しに一致する関数がありません ui(new Ui :: MainWindow ) ^ – icegas

+0

エラーは、デフォルトのコンストラクタを実装する必要があることを意味します。別のオプションは、共有ポインタを使用し、 'on_pushButton_clicked'メソッドで動的に割り当てることです。 –