weiteres kleines Problem meinerseits. MSVC & Qt 4.7.0.
Ich lade in einer Funktion eine QGraphicsView in mein QMainWindow. In der QGraphicsView wird dann eine QGraphicsScene angelegt.
In Visual Studios funktioniert das alles einwandfrei.
Wenn ich das ganze per .exe ausführe komm das komische: -> Die QGraphicsView wird incl. QGraphicsScene geladen, aber alles andere in der Funktion wird nicht ausgeführt! Z.b. das Auführen von fitinView, was genau mein Problem ist, (genauso wie meine QProgressbar). Wird nämlich beim Laden einer neuen Datei nicht ausgeführt. Ich bin ehrlich gesagt ziemlich Planlos und probiere schon seit Stunden daran rum, was sich als schwer erweist, wenn in VS alles funktioniert x_x ...
Quelltext hierzu:
Funktionierendes im Quellcode vermerkt ->
Code: Alles auswählen
void mainWindow::loadFile(QString cadFilePath, QBrush CADBackgroundColor, QStringList *ptr_CADForce)
{
if(cadFilePath.trimmed().isEmpty() == false)
{
/*Liste für das Loggin leeren, bevor die nächste Zeichnung geöffnet wird*/
ptr_cadLogger->clearLists();
/***********************************************************************************************************/
/************************************ Fortschrittsdialog für das Laden einer Zeichnung ************/
/**********************************************************************************************************/
QProgressDialog cadProgress(this,Qt::Dialog); //<- wird nicht ausgeführt...
cadProgress.setAutoClose(true); //<- wird nicht ausgeführt...
cadProgress.setLabelText("Zeichnung wird geladen..."); //<- wird nicht ausgeführt...
cadProgress.setCancelButton(0); //<- wird nicht ausgeführt...
cadProgress.setMinimum(0); //<- wird nicht ausgeführt...
cadProgress.setMaximum(4); //<- wird nicht ausgeführt...
cadProgress.setMinimumDuration(0); // <- wird nicht ausgeführt...
cadProgress.setWindowModality(Qt::WindowModal); //<- wird nicht ausgeführt...
cadProgress.setValue(1); //<- wird nicht ausgeführt...
/***********************************************************************************************************/
/************************************ cadView-Objekt erstellen ****************************************/
/***********************************************************************************************************/
if(bln_gfcSet == true)
{
// ptr_CADViewArea->~cadView();
delete ptr_CADViewArea; //<- wird ausgeführt
}
ptr_CADViewArea = new cadView(this, cadFilePath, CADBackgroundColor, ptr_CADForce, &bln_adminOn, ptr_cadLogger);
//<- wird ausgeführt.
bln_gfcSet = true;
cadProgress.setValue(2); //<- wird nicht ausgeführt...
this->setCentralWidget(ptr_CADViewArea); //<- wird nicht ausgeführt...
cadProgress.setValue(3); //<- wird nicht ausgeführt...
this->setCentralWidget(ptr_CADViewArea); //<- wird nicht ausgeführt...
/*Zeichnung auf Bildschirmgröße anpassen*/
cadProgress.setValue(4); //<- wird nicht ausgeführt...
Sleep(2000); //<- wird ausgeführt... !
this->ptr_CADViewArea->fitToScreen(); //<- wird nicht ausgeführt...
}
}Über mein Menü kann ich die Funktionen aber ausführen und dann werden sie auch korrekt ausgeführt.