Я подготовил этот маленький проверяемый файл .ui на рисунке 1, который повторяет мою проблему:
Я пытаюсь использовать QPushButton
«Печать экрана обоих изображений»чтобы постепенно сохранять изображения слева и справа от QGraphicsView
в двух разных папках, имеющихся на моем рабочем столе, см. рисунок 2:
Я могу сделать снимок экрана любого изleftScene
или rightScene
, просто нажав на связанные с ними QPushButton
Печать экрана слева и Печать экрана справа.
Однако я стараюсь в этом конкретном случае не использовать QFileDialog
, поскольку мне нужно тихо и постепенно сохранять изображения в двух разных папках назначения, когда я двигаюсь со стрелкой вправо / влево.
См. Ниже фрагмент кода, который я использую:
mainwindow.h
public:
void bothPrintScreen(const std::string& pathImg);
private slots:
void on_bothPrintScreen_clicked(const std::string& imgPath);
private:
int counterA=0;
int counterB=0;
mainwindow.cpp
void MainWindow::on_bothPrintScreen_clicked(const std::string& imgPath)
{
bothPrintScreen(imgPath);
}
void MainWindow::bothPrintScreen(const std::string& pathImg){
cv::Mat left, right;
std::string outA = pathImg+"/printScreenA_"+std::to_string(counterA++)+".png";
cv::imwrite(outA,left);
std::string outB = pathImg+"/printScreenB_"+std::to_string(counterB++)+".png";
cv::imwrite(outB,right);
}
Я что-то упустил в коде, но я не уверен, что именно.
Компилятор вызывает эту allocate()/deallocate()
ошибку, которую я не понимаю:
Пожалуйста, пролите свет на этот вопрос.