【发布时间】:2017-07-11 16:06:23
【问题描述】:
所以我的课程看起来像:
class CameraView
{
public:
CameraView(QImage viewImage);
QImage GetView() const;
double Getf() const;
void SetF(double value);
protected:
double f, c;
QImage ViewImage;
};
cpp:
CameraView::CameraView(QImage viewImage){
this->ViewImage = viewImage;
}
QImage CameraView::GetView() const{
return this->ViewImage;
}
我想在函数显示中获取 GetView。因此我需要将CameraView类实例的QImage传递给函数show。
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);///
}
我需要很好地解决这个问题,所以我们将 QImage 的实例等同于 view.GetView() 并将实例转移到函数 Show() 的方式看起来很糟糕,请本网站上的任何人知道我们如何决定它?
【问题讨论】:
-
您需要将 CameraView 的实例传递给 Show
-
不太清楚。你想把什么价值转移到什么功能上?你知道函数可以带参数,对吧?
-
在您的
MainWindow::Show函数中,您需要创建CameraView的实例才能执行CameraView::GetView。见函数MainWindow::on_pushButton_clicked()。 -
GetView返回QImage。Show想要QImage*现在看到问题了吗? -
@tobi303:问题是
on_pushButton_clicked()是一个事件处理程序,它的接口不能改变。