Gambas France BETA


Pas de compte ? Incription

propriété SCALED aucune documentation...

Ce sujet est résolu.

1
AuteurMessages
spheris#1 Posté le 2/6/2020 à 06:09:48
Titre choc je l'avoue pour attirer l'attention.
Voici mon problème:

Je réalise une petite application sous xfce avec xfwm comme manager.
Physiquement, je rentre les coordonnées d'une image dans les propriétés du widget picture comme ceci :

sous xfce :
x= 406
y= 357
width= 71
Height= 107


Jusque là tout va bien.

Tout fonctionne correctement.
En changeant de window manager, plus rien ne cadre, l'image est décalée et la taille de la Form n'est pas la même.
J'ai essayé différentes configurations et voici le résultat :

sous openbox :
x= 474
y= 417
width= 83
Height= 125

sous icewm:
x= 474
y= 417
width= 83
Height= 125

sous xfce : (celui là est le bon)
x= 406
y= 357
width= 71
Height= 107

sous enligthment :
x= 474
y= 417
width= 83
Height= 125

sous lxde :
x= 474
y= 417
width= 83
Height= 125

sous JWD :
x= 474
y= 417
width= 83
Height= 125


Poursuivant mon investigation, je suis allé dans les sources de mon fmain.form et là chose surprenante, les coordonnées de l'image sont des nombres à décimale:

{ Mypicture PictureBox
MoveScaled(67.6667,59.5,11.8333,17.8333)
Picture = Picture["monimage.png"]
Stretch = True
}



Le mot Movescaled m'interpelle. Chaque Form du projet a une propriété SCALED à true par défaut.
En le mettant à False, quelque soit le window manager(wm), la form a maintenant la même taille.

J'ai résolu en parti mon problème, car même si les widgets sont maintenant au bon endroit, les polices de caractères sont toujours à l'état SCALED, ce qui pose des problèmes de lisibilité (polices trop grosses ou trop petites suivant le wm) et je n'arrive pas à le désactiver,car:s
Une police de taille 8 par exemple n'aura pas la même taille suivant le wm choisi.
Et ça c'est un réel problème.

Pour finir, absolument aucune information dans la documentation officielle à propos de SCALED, nulle part. J'ai beau chercher, je ne trouve rien.

J'en appelle aux experts,
Gambix, flachy, proko, ou autre, auriez-vous une solution pour ce genre de souci?
;)





spheris#2 Posté le 2/6/2020 à 12:37:45
Et bien en cherchant j'ai trouvé tout seul la solution pour les polices de caractères.
Il suffit de décocher le checkbox RELATIF dans la boite de dialogue qui choisit la police (fontchooser propriété du widget) et de lui définir une valeur statique.
En enlevant RELATIF et en mettant la propriété SCALED à False de toutes vos form, votre logiciel sera identique quelque soit le window manager qui gère votre interface *nux préféré.

Une petite remarque.
Pourquoi ne pas avoir mis l'option non relatif pour les polices et scaled à False par défaut, cela aurait été bien plus pratique.
Qu'à cela ne tienne, on ne peut pas plaire à tout le monde.
;)

valaquarus#3 Posté le 3/6/2020 à 14:33:04
-- Unus Ex Altera --Merci spheris, de ce petit retour très explicite et instructif car souvent le problème de nos petits programmes à échanger c'est justement le fonctionnement sur une autre machine que la notre. Il faudrait que nous puissions (enfin plutôt nos superprogs,car moi j'en suis bien incapable) trouvent un moyen d'unifier les sorties de l'IDE car Linux c'est la liberté dans beaucoup de contrainte pour obtenir ce que l'on veut en toute simplicité. Notre IDE préféré pourrait par exemple passé sur Flatpak pour ne plus avoir cette restriction d'installation liée à la recherche des paquets en fonction de sa distribution.
Pil Valaquarus
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
1