Seite 1 von 1

["gelöst"] [Qt 4.12] untersch. Design, ob Aufruf a

Verfasst: 10. Juli 2006 21:55
von Esleborn
hi, ich hab einen "netten Effekt"...
das Programm sieht unterschiedlich aus, jenachdem, ob ich es aus VisualStudio oder von außerhalb aufrufe. Aber nur bei der release Funktion... kann mir das einer erklären?


Der entscheidende Code:

Code: Alles auswählen

   mpvb_main = new QVBoxLayout;
   mphb_topItems = new QHBoxLayout;

   WidgetFullParsing ( mp_extras, mp_extras->objectName ( ), objectName ( ) );
   WidgetFullParsing ( mp_icon, "icon", objectName ( ) );
   WidgetFullParsing ( mp_title, "title", objectName ( ) );
   WidgetFullParsing ( mp_table, "table", objectName ( ) );
   WidgetFullParsing ( mp_text, "descr", objectName ( ) );

   if ( m_autoLayouted <= 0 )
   {
      mp_title->setSizePolicy ( QSizePolicy::Fixed, QSizePolicy::Minimum );
      mp_text->setSizePolicy ( QSizePolicy::Minimum, QSizePolicy::MinimumExpanding );
      mp_icon->setSizePolicy ( QSizePolicy::Fixed, QSizePolicy::MinimumExpanding );
      mp_table->setSizePolicy ( QSizePolicy::Fixed, QSizePolicy::MinimumExpanding );
      mp_extras->setSizePolicy ( QSizePolicy::Minimum, QSizePolicy::Expanding );
   }

   mp_text->ScrollEnabled ( false );
   mp_text->ResizeDirections ( W_Text_NoScroll::__PHOENIX__AUTORESIZE__VERTICAL );

   mphb_topItems->addWidget ( mp_icon, 0 );
   mphb_topItems->addWidget ( mp_table, 0 );

   mpvb_main->addWidget ( mp_title, 0 );
   mpvb_main->addLayout ( mphb_topItems, 1 );

   mpvb_main->addWidget ( mp_text, 2 );
   mpvb_main->addWidget ( mp_extras, 2 );

   mpvb_main->setSizeConstraint ( QLayout::SetFixedSize );
   setLayout ( mpvb_main );
WidgetFullParsing weißt (unabhängig vom Startverzeichniss oder Debug/Release Version) maximal und minimalgrößen aus, die es aus einem QSettings liest. Auf Grund dieser Werte muss das Bild "richtig" (aus Visual Studio . Net Aufruf, siehe Anhang) rauskommen. Woher das andere Bild kommt: Keine Ahnung!

Danke für Hilfe
E.E.

PS: Ich verwende als mp_text ein QTextBrowser verändert wie hier beschrieben.

Verfasst: 11. Juli 2006 07:15
von macman
Je nach dem ob das Programm aus Visual Studio oder von ausserhalb gestartet wird, hast Du unterschiedliche Umgebungen. Vielleicht hast Du auch in VS verschiedene Arbeitsverzeichnisse angegeben oder lässt die Releaseversion gleich in einem anderen Ordner erstellen. Jedenfalls scheint er mal die Settings zu finden und mal nicht.

Verfasst: 11. Juli 2006 20:31
von Esleborn
die Settings werden beides mal gefunden... (Unter win --> regedit)

und wie gesagt, ich hab versucht es aus dem Stammverzeichniss, aus release und aus debug aufzurufen (bei VC ist das Stammverzeichniss als Arbeitsverzeichniss angegeben)...

PS: Bei der Debug Version gibt es nicht den Effekt, dort sieht es immer aus wie dei Release Version unter VS (also korrekt). Ich hab aber im gesamten relevanten Code keine Unterscheidung zwischen release und Debug.

Verfasst: 12. Juli 2006 07:13
von macman
Die Settings stehen also in der Registry, ok. Hast Du schon mal mit MessageBoxen kontrolliert, ob wirklich die richtigen Werte eingelesen werden? Einfach nur um die Stelle des Problems weiter eingrenzen zu können.

Verfasst: 12. Juli 2006 21:30
von Esleborn
Jep sind die richtigen Werte. Aus irgendeinem Grund missachtet er die per maxsize gesetzten Werte...

Verfasst: 13. Juli 2006 20:34
von Esleborn
irgendwelche Ideen?

Verfasst: 14. Juli 2006 07:09
von macman
Versuch ein Miniprojekt mit dem Problem zu erstellen und dann können wir weiter sehen. So fällt mir da nichts mehr zu ein.

Verfasst: 14. Juli 2006 15:15
von Esleborn
mmh grad stellt sich raus:
Das ganze war ein VS-Problem. Frag mich nicht wie oder warum, aber nach 4 Mal komplett neu erstellen war es weg... ?

Verfasst: 14. Juli 2006 15:35
von macman
Oh, ich dachte das wäre bekannt :-) Manchmal hilft VS beenden, manchmal ein Reboot, meisten reicht alles neu erstellen. Windows halt.

Verfasst: 14. Juli 2006 15:42
von Esleborn
Aber mehrfach komplett neuerstellen?
Und warum das unterschiedliche Verhalten jenachdem von wo aus aufgerufen... WAS ERSTELLT DER?