Topic: Problème lié à la mise à l'échelle des écrans

Bonjour à tous,

J'ai repéré un problème il y a quelques temps mais n'ai jamais trouvé de solution sur le forum...
Je m'explique:

Je travaille sur PC portable avec un petit écran (13") auquel je connecte un écran externe. L'écran du portable à une mise à l'échelle à 125% et l'autre à 100%.
Lorsque je fais mon schéma, tout se passe bien sur celui défini à 125%. Par contre, si je change d'écran pour celui à 100%, tout est décalé.
Chose étrange, l'éditeur d'éléments ne présente pas ce problème! De même, lors de l'exportation en PDF, pas de problème.
Quelques images pour illustrer sont en pièces jointes.

Avez-vous déjà rencontré ce problème?
Si oui avez-vous des conseils/solutions à me donner?

Merci d'avance nomicons/smile

Post's attachments

Schéma definition probleme.png, 138.09 kb, 813 x 1186
Schéma definition probleme.png 138.09 kb, 153 downloads since 2021-04-13 

Re: Problème lié à la mise à l'échelle des écrans

Bonjour,

tu n'es hélas pas le premier, ce souci à déjà été reporté par d'autres, comme celui-ci récemment:
https://qelectrotech.org/forum/viewtopic.php?id=2011

Çà semble toujours se produire avec un PC portable connecté à plusieurs écrans et résolutions différentes.
D’après le peu d'information remontée il semble que ça touche que Windows?

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Bonjour, peut tu préciser certains points (afin de mieux comprendre la source du problème).
L'éditeur d'élément tout est Ok en revanche c'est pas le cas sur l'éditeur de schéma, à voir les captures d'écran j'ai l'impression que seul les éléments sont impacté mais pas leurs bornes qui elles restent à la bonne positions, c'est exacte ? Si c'est le cas j'entrevoie certains aspect du problème.

Quand qet est démarré sur l'écran 125% et que tu le glisse sur l'écran 100% = problème.
Quand qet est démarré sur l'écran 100% et que tu le glisse sur l'écran 125% que se passe t'il ?
Y a t'il autre chose qui ne sont pas aux bonnes proportions ?
Si il y d'autre chose que tu as remarqué hésite pas à l'indiquer.

Développeur QElectroTech

Re: Problème lié à la mise à l'échelle des écrans

Merci pour vos réponses nomicons/smile

Alors j'essaye de préciser!
Effectivement seuls les éléments sont impactés mais uniquement dans l'éditeur de schéma. Il n'y a pas de différence si je créé un nouvel élément (avec l'éditeur d'élément) sur l'un des deux écrans. Il n'y en a pas non plus si je modifie un élément déjà existant.
J'ai créé des tableaux comme des composants et le même problème apparaît, je vous mets une images de mes tableaux. Je pense que ce sont les éléments graphiques qui sont en cause (lignes, textes...) car effectivement il n'y a pas de problème avec les bornes. On remarque aussi que la taille du texte semble identique entre le 100% et le 125%.

Lorsque je démarre sur l'écran 100% on a le problème de décalage. Je le déplace sur l'écran 125% et là le problème disparaît.
A savoir, l'écran 125% est mon écran principal dans les paramètres Windows. Je ne peux pas changer d'écran principal.

J'ai fait le test suivant:
Duplication des écrans (au lieu d''étendre l'affichage) pour que les écrans affichent donc la même chose avec le même zoom. Le problème n'apparaît pas, que l'on soit en 100% ou en 125%.

N'hésitez pas si vous avez besoin d'autres tests!
Merci d'avance!

Post's attachments

Probleme tableaux.png, 66.99 kb, 616 x 589
Probleme tableaux.png 66.99 kb, 159 downloads since 2021-04-14 

Re: Problème lié à la mise à l'échelle des écrans

Merci pour ces renseignements qui ont le mérite pour la première fois d’être clair.
Un écran UHD dans le lot? style écran 4K sur le portable?

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Merci pour tes réponses!

J'essaye de décrire au mieux et d'essayer des choses, je suis le premier énervé quand on me remonte des problèmes sans vraies circonstances nomicons/laughing

Pas d'écran UHD, les deux sont en 1920x1080, seule la taille physique change d'où la différence de zoom.

Je te joins les logs!

J'ai aussi fait le test de modification du script de démarrage mais ça n'a pas réglé le problème. Au passage, je n'ai pas vu de différence sur les polices...

Une piste de réflexion peut-être, mon écran principal est configuré en 125%. Est-ce qu'au moment de l'installation il n'y aurait pas une prise de config écran qui foutrait le bordel quand on ajoute un écran qui n'est pas défini de la même manière?

Post's attachments

Attachment icon log_V1.txt 393.95 kb, 168 downloads since 2021-04-14 

Re: Problème lié à la mise à l'échelle des écrans

Je viens de faire quelques petits tests sur mon portable (écran UHD) et j'ai branché dessus un écran 1920x1080 sur le port HMI Windows affichage en mode étendu.

QET sur l’écran HMI

100% ok
125% pareil que toi, les bornes sont décalées, certains éléments débordent du cartouche.
150% ok
200% pas essayé

Il me semble avoir lu ici quelqu'un qui justement signalait un problème de rendu sur Win10 avec une mise à l’échelle justement de 125% avec un écran externe branché sur un portable.

andrea70ds wrote:

I solved my little problem , I changed resolution on left monitor , en fact on the left was 100 % and on PC right was 125% . In these case they must be the same .Thanks to Scorpio810 for suggestion .Many thanks .

https://qelectrotech.org/forum/viewtopic.php?id=1449

J'ai aussi fait le test de modification du script de démarrage mais ça n'a pas réglé le problème. Au passage, je n'ai pas vu de différence sur les polices...

Intéressant, merci.
Je testerai sans le "-platform windows:fontengine=freetype" plus tard, peut-être que chez Qt ils ont corrigé ce soucis depuis..
Pour information : le problème portait sur le rendu des polices textes des éléments affichés dans les folios.
https://qelectrotech.org/forum/viewtopi … 561#p10561

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Ok, merci pour ces précieuses informations (ta première capture d'écran m'a mis la puce à l'oreille).
Au sujet du tableau je pense avoir bien compris, mais pour être sûr, ce n'est pas un tableau créer automatiquement par qet, mais des éléments que tu as crée et mis les uns au dessus des autres pour former un tableau. C'est juste ?
Je vais faire quelque test de mon coté pour voir certaine chose, par la suite si je fait un bout de code pour "tester" et ce que tu peut faire le "cobaye" ?

Au sujet du log, c'est étrange il manque toutes les informations pertinente. Peut tu en renvoyé un autre stp, dedans doit figurer un truc dans le style :
12:20:43.297 Info: *** Qt screens ***
12:20:43.297 Info: "( 1 : 1920 x 1080 )"
12:20:43.297 Info: "( 2 : 1920 x 1080 )"

A+ et merci pour les retours d'informations.

Développeur QElectroTech

Re: Problème lié à la mise à l'échelle des écrans

Pour les tableaux effectivement, je fais des lignes, carrés, rectangles... dans lesquels je mets du texte. Ensuite, je les colle les uns aux autres dans mon schéma de câblage pour pouvoir rajouter des lignes au besoin.

Aucun problème pour faire le cobaye, je suis aussi dev C/C++/C#, je peux comprendre 2-3 lignes de code nomicons/wink

Je viens de remarquer que les Logs que j'ai envoyé ne correspondent pas à la dernière ouverture. Dans la fenêtre de Logs, la version affichée par défaut n'est pas la dernière! Ci-dessous les derniers logs:

17:32:12.899 Info: "QElectroTech V 0.80c+87c957a06d79751d3"
17:32:12.901 Info: "Compilation : GCC 9.3.0"
17:32:12.902 Info: "Built with Qt 5.15.2 - Date : Feb 21 2021 : 10:30:58"
17:32:12.904 Info: "Run with Qt 5.15.2 using 8 thread(s)"
17:32:12.906 Info: "CPU : NAME                                      \r\r\nINTEL(R) CORE(TM) I7-8665U CPU @ 1.90GHZ  \r\r\n\r\r\n"
17:32:12.908 Info: "RAM Total : 16194 MB"
17:32:12.909 Info: "RAM Available : 6047 MB"
17:32:12.911 Info: "GPU : VideoProcessor                \r\r\nIntel(R) UHD Graphics Family  \r\r\n\r\r\n"
17:32:12.913 Info: "GPU RAM : RAM Total : AdapterRAM  \r\r\n1073741824  \r\r\n\r\r\n B"
17:32:12.915 Info: "OS : winnt  - x86_64 - Version : Windows 10 Version 1909 - Kernel : 10.0.18363"
17:32:12.916 Info: *** Qt screens ***
17:32:12.918 Info: "( 1 : 1920 x 1080 )"
17:32:12.920 Info: "( 2 : 1920 x 1080 )"
17:32:13.842 Info: Elements collection reload
17:32:33.497 Info: Elements collection finished to be loaded

Re: Problème lié à la mise à l'échelle des écrans

franck wrote:

Aucun problème pour faire le cobaye, je suis aussi dev C/C++/C#, je peux comprendre 2-3 lignes de code

C'est bon à savoir nomicons/smile, c'est ton métier ou un hobby (si ce n'est pas indiscret).
De mon coté j'ai fait le bout de code il reste juste 2 ou 3 détails à faire, c'est un code de test je pense pas l'intégrer dans qet (à moins que....) car les choses n’ont pas été comme je pensais mais on aura l'occasion d'en reparler si besoins.
Du coup est-ce que tu peut récupérer les sources depuis git et compiler qet toi même, ou alors Laurent fait un exécutable ?

Développeur QElectroTech

11 (edited by Joshua 2021-04-17 09:58:49)

Re: Problème lié à la mise à l'échelle des écrans

Le code se trouve dans la branch element_picture_scale.
Une liste déroulante à été ajouter dans la barre d'outils afin de changer le facteur d'échelle des éléments. Si c'elle ci n'est pas présente il faut aller dans : Configuration -> afficher -> cocher 'Facteur d'échelle des éléments'.

Attention si tu imprime ou exporte en pdf, pense à remettre le facteur d'échelle à 1.

Développeur QElectroTech

Re: Problème lié à la mise à l'échelle des écrans

Paquet Windows de tests :
https://download.qelectrotech.org/qet/s … 1-04-17-1/

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Bonjour à tous!

Alors le développement C/C++/C# c'est une partie de mon métier!

Je viens de tester la version modifiée. Résultat : c'est beaucoup mieux!
Sur mon écran en définition 100%, je mets le facteur d'échelle à 1.25 (correspondant au 125% de mon écran principal) et là tout se place correctement!
J'en ai profité pour faire le test en changeant la définition de mon écran 100% à 150% et ça fonctionne toujours.
Remarque: si on laisse le facteur à 1.25 en affichant sur l'écran 125% alors on trouve le problème dans le sens inverse.

Question technique, est-il possible d'automatiser le facteur d'affichage en fonction de l'écran? Je précise que je ne connais pas du tout Qt...

Post's attachments

Correction facteur echelle.png, 45.47 kb, 820 x 315
Correction facteur echelle.png 45.47 kb, 159 downloads since 2021-04-19 

Re: Problème lié à la mise à l'échelle des écrans

https://doc.qt.io/qt-5/highdpi.html
https://lists.qt-project.org/pipermail/ … 37434.html
https://programmersought.com/article/27635311665/

The QT_ENABLE_HIGHDPI_SCALING environment variable, introduced in Qt 5.14, enables automatic scaling based on the pixel density of the monitor. Replaces QT_AUTO_SCREEN_SCALE_FACTOR.

The QT_SCALE_FACTOR_ROUNDING_POLICY environment variable and QGuiApplication::highDpiScaleFactorRoundingPolicy API, introduced in Qt 5.14, makes it possible to control if and how the device pixel ratio should be rounded to the nearest integer. This is relevant for configurations like Windows at 150% scale. Possible values are Round, Ceil, Floor, RoundPreferFloor, PassThrough. See the Qt::HighDpiScaleFactorRoundingPolicy enum documentation for a full description of the options.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Si tu peux tester en rajoutant dans le main.cpp
qputenv("QT_ENABLE_HIGHDPI_SCALING", "1");
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);

https://doc.qt.io/qt-5/qt.html#HighDpiS … olicy-enum


--- sources/main.cpp
+++ sources/main.cpp
@@ -175,6 +175,13 @@ int main(int argc, char **argv)
#pragma message("@TODO remove code for QT 6 or later")
#endif
#endif
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+qputenv("QT_ENABLE_HIGHDPI_SCALING", "1");
+QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
+#endif
+
+
     SingleApplication app(argc, argv, true);
#ifdef Q_OS_MACOS
     //Handle the opening of QET when user double click on a .qet .elmt .tbt file





Compiler QET sur Windows
https://qelectrotech.org/forum/viewtopi … 999#p12999
https://qelectrotech.org/wiki_new/doc/qt_pour_windows

ou
https://qelectrotech.org/wiki_new/winstatic/winstatic

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Chose étrange, l'éditeur d'éléments ne présente pas ce problème! De même, lors de l'exportation en PDF, pas de problème.

https://qelectrotech.org/bugtracker/view.php?id=150
https://git.tuxfamily.org/qet/qet.git/t … w.cpp#n188

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Bonjour à tous,

Pour l'instant, je ne peux pas faire de compilation Qt sur mon PC (PC pro)
J'essayerai quand j'aurai un peu plus de temps dispo pour les installations ect...

Re: Problème lié à la mise à l'échelle des écrans

Tu peux essayer de rajouter dans le script de démarrage
-platform windows:dpiawareness=0

https://bugs.launchpad.net/mudlet/+bug/1652413

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

https://git.tuxfamily.org/qet/qet.git/c … 73d0fcd2f4
https://download.qelectrotech.org/qet/b … 1-04-21-1/

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

https://www.windowscentral.com/how-view … windows-10

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Je pense que le dernier commit fixe le problème de décalage des bornes dans une config Multi-écran avec différentes échelles.
Tu pourras essayer?

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Problème lié à la mise à l'échelle des écrans

Super interessant  !