QFileDialog unter openSuse 11.3

Alles rund um die Programmierung mit Qt
Antworten
saar
Beiträge: 11
Registriert: 3. Januar 2011 14:15

QFileDialog unter openSuse 11.3

Beitrag von saar »

Hallo,

In meiner App möchte ich den QFileDialog mit "Details" öffnen. Ferner sollen als zulässige Dateiformate zip (*.zip) sowie hrd (*.hrd) angeboten werden. Im ini-File der App steht das *.hrd als zuletzt verwendetes Format und dieses soll auch bei einem erneuten Start angezeigt werden.

Dabei erhalte ich folgende Probleme, wenn ich das Programm direkt an der XWindows Konsole laufen lasse:
1. Die Details werden nicht angezeigt. Erst nachdem ich ich im File Dialog auf die Details-Ansicht klicke, wird diese aktiviert. Sie bleibt danach auch für weitere Programmaufrufe aktiviert.

2. Als aktuelles Format wird nicht wie gewünscht hrd angezeigt sondern zip, welches als erstes in der Filterliste steht.

Starte ich das gleiche Programm remote von meinem Notebook über den XWin Server, funktioniert alles wie erwartet. Hier wird scheinbar der Windows-FileDialog zur Darstellung benutzt. Auch wenn ich die App unter Windows kompiliere und ausführe ist alles ok.

Ich habe unten mal ein Minimalbeispiel angehängt, mit dem sich das Verhalten (zumindest bei mir) reproduzieren lässt.

Ich benutze Qt 4.7.

Im Voraus schon mal vielen Dank für Lösungshinweise.
Gruß
Saar
Dateianhänge
Hello.zip
Auspacken erzeugt neues Verzeichnis Hello mit den Sourcen.
(5.01 KiB) 193-mal heruntergeladen
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Das einzige, was mit dazu einfällt (ich arbeite nicht mit OpenSuse) ist, dass Qt per Default den nativen Dialog des Betriebsystems einsetzt und daher das Verhalten durchaus unterschiedlich sein kann..

Hast du mal versucht, den Qt-eigenen Dialog zu verwenden? In deinem Beispiel so ungefähr:

Code: Alles auswählen

  
  // zu den alten Optionen noch "DontUseNativeDialog" setzen:
  // siehe http://doc.trolltech.com/latest/qfiledialog.html#Option-enum
  fd.setOptions(fd.options() | QFileDialog::DontUseNativeDialog);
  ..

hth..
saar
Beiträge: 11
Registriert: 3. Januar 2011 14:15

Beitrag von saar »

Danke solarix,

das ist des Rätsels Lösung. Jetzt kommt der Dialog wie erwartet.

Gruß
saar
Antworten