Page 1 of 1

changer curseur d'un QDialog

Posted: 19 Apr 2023, 03:57
by dragonix
bonjour,
je voudrais changer la forme du curseur de mon widget QDialog, mais ça marche pas. pourtant j'ai vu dans le debug de ma class Qdialog qu' il y avait la méthode "setShape()" mais ça n'a aucun effet

Code: Select all

var maFenetre= new QDialog();
maFenetre.cursor.setShape(Qt.CrossCursor)

/*j'ai tenté ça aussi mais je sais pas comment l'attribuer au widget, vu que j'ai apparemment pas la méthode setCursor()*/
var cursor_= new QCursor();
cursor_.setShape(Qt.CrossCursor)
j'ai essayé plein d'écriture entre les parenthèse , mais ça marche pas :(

j'ai parcouru la doc QT, alors il parle de la methode "setCursor()" pour changer le curseur d'un widget , mais je la vois pas dans ma classe QDialog qui est un widget, comprend pas, enfin voilà je patauge un peu avec QT C++ binding javascript
merci si vous me répondez

Re: changer curseur d'un QDialog

Posted: 19 Apr 2023, 10:04
by francois
Bonjour,

Juste une piste :

Avec

Code: Select all

maFenetre.cursor.setShape()
(sans paramètre)

on a le message
setShape.jpg
setShape.jpg (10.46 KiB) Viewed 897 times
Donc :
-- maFenetre.cursor.setShape est reconnu
-- par contre, Qt.CrossCursor comme paramètre ne convient pas

Re: changer curseur d'un QDialog

Posted: 19 Apr 2023, 12:30
by dragonix
alors je sais pas si tu me donne juste une piste pour que je trouve de moi même :wink:
j'avais pas essayé sans rien dans les parenthèse, du coup je voyais pas cette info dans la console debug, donc j' en déduis qu' il faut instancier un CursorShape , donc j' ai fais ça :

Code: Select all

var cursorShape_= new Qt.CursorShape(3);
maFenetre.cursor.setShape(cursorshape_)


cependant pour l'instant quand je le fais, ça change rien et pourtant j'ai pas d'erreur de debug, et j'ai bien cursorShape=waitCursor
shape.jpg
shape.jpg (24.04 KiB) Viewed 887 times
v continuer à chercher ce soir je dois pas être loing

Re: changer curseur d'un QDialog

Posted: 19 Apr 2023, 12:39
by francois
alors je sais pas si tu me donne juste une piste pour que je trouve de moi même
Non, j'utilise de manière 'basique' Qt.
Mais il me semblait que la piste était interessante.

Re: changer curseur d'un QDialog

Posted: 21 Apr 2023, 05:44
by dragonix
bon j'ai enfin trouvé :D , en fait au début je pensais qu'on avait accès directement aux fonctions public de QWidget la classe de base, et donc qu 'on pouvait appeler directement setCursor() par exemple, vue que QDialog est un Widget donc cette QDialog devrait hériter des fonctions de QWidget,alors je sais pas pourquoi ces fonctions sont pas visible, donc je me suis dit je vais tenter d'affecter directement ma nouvelle instance "cursor_" à la propriété "cursor" (je sais pas trop si c'est une propriété, un objet..) de ma fenêtre, et ça fonctionne

Code: Select all

/*écriture détaillée nouvelle instance d'un curseur*/
var cursor_= new QCursor();
var shape_= new Qt.CursorShape(2);
cursor_.setShape(shape_)*/

/*écriture compacte nouvelle instance d'un curseur*/
var cursor = new QCursor(Qt.CursorShape(2))

/*affectation du curseur à la fenêtre*/
maFenetreQDialog.cursor=cursor_
voilà voilà

Re: changer curseur d'un QDialog

Posted: 21 Apr 2023, 19:55
by MDLE46
Bonjour Dragomix,

n'ayant ton niveau en informatique, pourrait je avoir un script exemple complet pour bien comprendre les tenants et les aboutissants.

Merci.
Cordialement.
MDLE46

Re: changer curseur d'un QDialog

Posted: 21 Apr 2023, 20:44
by dragonix
la je mange, c'est quoi ce que tu veux comme exemple, parce que si c'est un exemple pour changer le curseur c'est simplement les 2 lignes de codes que j'ai posté
Après si c'est une mise en situation et l'utilité de changer le curseur comme dans mon cas vu que j' ai crée une fenêtre de configuration qui permet à un utilisateur qui utilisera l'exécutable autonome de définir les coordonnées des différentes actions prévu par le script par l'intermédiaire de la sourie pour que quelque soit l'emplacement des fenêtres on puisse utiliser le script, oui je peux te donner le code de la fenêtre en le simplifiant et en laissant juste le code pour récupérer des coordonnées avec un bouton et le fameux changement de curseur lorsqu'on clic sur le bouton pour choisir l'emplacement sur l'écran, pour que ça soit plus lisible,vu que je découvre QT, j’essaie divers éléments de mise en forme dans les fenêtres comme les layout,groupBox,police,couleur de police ...
Donc si c'est ça que tu veux, je mettrais des commentaires dans le code, et je te ferais ça, bon la c'est le week-end, donc v prendre l'air
je suis pas un professionnel, je te rassure
sur la photo on voit pas le curseur en croix car imprim écran ne prend pas la sourie, mais quand on clic sur les bouton on a bien la croix
conf.jpg
conf.jpg (221.31 KiB) Viewed 848 times

Re: changer curseur d'un QDialog

Posted: 25 Apr 2023, 07:58
by francois
A partir des recherches de dragonix, exemple de base en pièce jointe.

La forme du curseur est déterminée dans :

Code: Select all

shape_= new Qt.CursorShape(num_cursor);
num_cursor va de 0 à 21.
On a donc le choix entre 22 formes de curseur différentes
CursorShape.ascr
(1.09 KiB) Downloaded 47 times

Re: changer curseur d'un QDialog

Posted: 25 Apr 2023, 18:40
by MDLE46
.
Merci François, et bon appétit.

Cdlt. MDLE46.

Re: changer curseur d'un QDialog

Posted: 12 May 2023, 09:04
by dragonix
Pour ceux qui pourraient être intéressés, je vous mets mon petit module de récupération des coordonnées de la sourie en pointant un emplacement.
il y a trois fichiers script, c'est exactement le même script pour les trois mes avec une version beaucoup de commentaire, une l'essentielle et une autre avec nommage des variables plus compact. j' ai pris le temps de
faire ça, si des personnes qui ne font pas de programmation souhaite comprendre le code,enfin j'espère.
RécupérationCoordonnéesSourie.rar
(25.38 KiB) Downloaded 41 times

Re: changer curseur d'un QDialog

Posted: 12 May 2023, 11:25
by dragonix
j'ai même fait un petit plugin pour mettre thème et couleur,c'est de la bidouille mais ça fonctionne, ça m'a permis de comprendre comment coder des instructions QtSript avec javaScript, ça pas été facile :shock:, faut encore que je règle certaine choses donc pas fini, et ça ne pourra pas tout changer au niveau des couleurs car c'est un tour de passe passe,donc je n'ai pas accès à tout,en faisant comme ça, mais bon c’est en cherchant à manipuler les classes Qt, que ça m'a emmené à faire ça, j'aime bien avoir un but concret.Et ça pourra peut être aiguiller des personnes qui ont besoin d'utiliser ou de faire des des boites de dialogue personalisé,des liste de boutons,des listes checkables,connecter des signaux,etc..
je vous mets un petit aperçu,en attendant de peaufiner au mieux, il me reste encore des trucs à régler
ThèmeFusionEtCouleurInterface.jpg
ThèmeFusionEtCouleurInterface.jpg (343.86 KiB) Viewed 687 times
ThèmeFusionEtCouleurFenetreConfig.jpg
ThèmeFusionEtCouleurFenetreConfig.jpg (185.21 KiB) Viewed 687 times