Forum: PC-Programmierung QT und High-Dpi displays


von Olaf (Gast)


Lesenswert?

Hallo da draussen,

Es ist ja mit Qt erfreulicherweise sehr einfach Anwendungen fuer 
verschiedene Betriebssysteme zu erstellen. In meinem Falle Linux und 
Android. Von dem Gluecksgefuehl das man erfaehrt weil man sich nicht mit 
dem Googlerotz abgeben muss, garnicht zu reden.

Allerdings merkt man da relativ schnell das es ein kleines Problem 
gibt.Und zwar die extrem hohe Aufloesung auf Android-Devices, noch dazu 
verschaerft dadurch das Programme dort ueblicherweise als Vollbild 
laufen.

Dafuer bietet Qt wohl zwei Loesungsmechanismen an:

1. Layoutmanagement:   http://doc.qt.io/qt-5/layout.html

2. Style sheets: http://doc.qt.io/qt-4.8/stylesheet-examples.html

Das ist auch schonmal nicht schlecht. Aber mir will es so erscheinen als 
wenn das fuer die extrem grossen Unterschiede nicht mehr ausreichend 
ist. Oder aber ich hab einfach noch nicht genug Ahnung! Zumal fuer 
diesen Problemkomplex ein dickeres Kapitel in einem Buch notwendig waere 
und nicht nur etwas Internetdoku.

Gibt es da irgendwo etwas an bessere Doku? Also ein Buch das darauf 
eingeht?

Gibt es bessere Loesungen? Ich behelfe mir derzeit damit das ich fuer 
Linux und Android zwei unterschiedlich ui-Files habe. Hat natuerlich den 
Nachteil das ich jeden neuen Button zweimal anlegen muss. Bietet aber 
als Nebeneffekt die Freiheit betriebsystemabhaengige Funktionalitaet 
nutzen/anbieten zu koennen.

Oder hat die Menschheit darueber noch nicht ausreichend nachgedacht? Es 
wird ja nicht mehr lange dauern und wir haben alle einen 4k-Monitor an 
unserem Computer. Oder schlimmer, nur die haelfte von uns. :-)

Olaf

von LowDPI (Gast)


Lesenswert?

Seit gefühlt 20 Jahren, vmtl sogar schon länger, steht in jedem Unix-UI 
Styleguide:

Font-Size in Pt vorgeben, nicht in Px.

Idealerweise richten sich dann per Layout-Manager alle Buttons, Icons 
usw. daran aus.

Hilft natürlich nur für DPI-Probleme, nicht für Touch vs. Maus...

von Noch einer (Gast)


Lesenswert?

Vor 20 Jahren stand in jedem Styleguide: Für jede Auflösung eigene Icons 
zeichnen. Wer liest sich solche Styleguides heutzutage noch durch? :-)

von Rolf M. (rmagnus)


Lesenswert?

LowDPI schrieb:
> Seit gefühlt 20 Jahren, vmtl sogar schon länger, steht in jedem Unix-UI
> Styleguide:
>
> Font-Size in Pt vorgeben, nicht in Px.
>
> Idealerweise richten sich dann per Layout-Manager alle Buttons, Icons
> usw. daran aus.

Naja, das passt aber auch nicht wirklich besser. Oder wieviel pt 
empfiehlst du, damit es auf einem 4"-Handy genauso gut lesbar ist wie 
auf einem 60"-Fernseher?

von Noch einer (Gast)


Lesenswert?

Gab 2000 herum mal einen Ansatz - Mit XSLT aus einer 
Oberflächenbeschreibung unterschiedliche Oberflächen für alle Geräte vom 
WAP-Handy bis zur Grafik-Workstation erzeugen.

Hat sich nicht durchgesetzt. Aber hier geht es ja nur um PC-Bildschirm 
und modernes Smartphone.

Übrigens - auf einem 60"-Fernseher an der gegenüberliegenden Wand 
bekommt man weniger Text unter als auf einem Smartphone direkt vor der 
Nase.

von Sven B. (scummos)


Lesenswert?

Unter gar keinen Umständen solltest du irgendwelche Widgets haben, die 
absolut irgendwo positioniert sind. Alles gehört immer in ein Layout. 
Was ist denn, wenn der User die Größe vom Fenster ändert? Dafür gibt es 
in Qt das Layout-System, was du unbedingt immer benutzen solltest.

Das High DPI-Zeug ist nochmal eine andere Geschichte. Ich kenn mich da 
nicht so aus, aber im Wesentlichen darfst du nichts mehr in Pixeln 
angeben (Schriftarten in Pt). Außerdem macht man wohl
app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
um auch die Icons etc. in der richtigen Größe zu kriegen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.