以下是我正在处理的代码。现在发生的事情是,即使我正在创建一个对象ImageCropper *newwindow = new ImageCropper();
(来自下面的给定代码),在构造函数和相关函数中的代码完成之前,正在执行对象创建之后的代码。
所以问题是,我在构造函数中设置了一些变量(我再次从这个构造函数调用一个设置变量的函数)。在下面的函数中,当我尝试访问这样的变量时:newwindow->x2
它显示垃圾/随机数而不是在另一个类中设置的值。那么我怎样才能实现我的目标呢?
void MainWindow::on_pushButton_clicked()
{
ui->pushButton->setDisabled(true);
ui->pushButton_2->setDisabled(false);
ImageCropper *newwindow = new ImageCropper();
this->hide();
newwindow->setWindowOpacity(.1);
newwindow->setWindowFlags(Qt::FramelessWindowHint);
newwindow->setAttribute(Qt::WA_DeleteOnClose);
newwindow->showFullScreen();
originalPixmap = QPixmap(0,0);
screen = QGuiApplication::primaryScreen();
originalPixmap = screen->grabWindow(0, newwindow->x2, newwindow->y2, newwindow->w2, newwindow->h2);
qDebug()<<"x:"<<newwindow->x2<<" | "<<"y:"<<newwindow->y2<<" | "<<"h:"<<newwindow->h2<<" | "<<"w:"<<newwindow->w2;
connect(newwindow,SIGNAL(destroyed()),this,SLOT(show()));
}