Ce sujet est résolu.
123 | |||||||
Auteur | Messages | ||||||
---|---|---|---|---|---|---|---|
valaquarus | #1 Posté le 25/2/2023 à 15:14:55 | ||||||
-- Unus Ex Altera -- | Bonjour à tous, une question que je n'arrive pas à résoudre et je suis certain que c'est de l'ordre du simple. Comment faire pour enfoncer un bouton d'un formulaire par l'appui sur le clavier, pour simuler le _click() par la souris? Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
Patrick | #2 Posté le 25/2/2023 à 17:48:48 | ||||||
Bonsoir, Il suffit de mettre dans la propriété Text un & devant la lettre que l'on veut, un "&ok" réagira lorsque on fera un ALT + o. | |||||||
valaquarus | #3 Posté le 25/2/2023 à 18:01:29 | ||||||
-- Unus Ex Altera -- | Merci Patrick, mais en fait ce n'est pas exactement ce que je voulais faire. Je voudrais récupérer l'action sur un bouton pour simuler le _Click() par le clavier comme si j'avais cliqué avec la souris, un bouton portant le chiffre 7 mais en tapant 7 au clavier. C'est juste pour un rendu visuel, je voudrais que le bouton s'enfonce comme lors du click avec la souris. Valaquarus J'avais essayé avec ça mais je ne récupère rien du tout :
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
Patrick | #4 Posté le 25/2/2023 à 18:18:28 | ||||||
A voir si :
| |||||||
valaquarus | #5 Posté le 25/2/2023 à 19:08:09 | ||||||
-- Unus Ex Altera -- | y veut pas de
quant au desktop il faut ajouter gb.Desktop et en plus cela ne fait rien. J'en suis là :
Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
spheris | #6 Posté le 25/2/2023 à 20:05:24 | ||||||
Valaquarus, Une petite précision : Le clic ainsi simulé est il simulé pour un seul widget? Car si tu veux par exemple cliquer sur le bouton Btn7 lors de l'appuie sur 7, j'écris simpement dans l'évènement Keypress:
Mais bon je pense que tu parlais d'un clic général non? | |||||||
valaquarus | #7 Posté le 25/2/2023 à 20:26:22 | ||||||
-- Unus Ex Altera -- | Ton exemple est beau et simple mais j'ai créé un group pour mes chiffres de 0 à 9 et je n'ai plus qu'un seul click global mais dans l'absolu cela pourrait convenir. Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
valaquarus | #8 Posté le 25/2/2023 à 22:15:20 | ||||||
-- Unus Ex Altera -- | En fait ton exemple fonctionne mais ne simule pas visuellement l'appui sur le bouton hors c'est ce que je veux obtenir. Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
valaquarus | #9 Posté le 25/2/2023 à 22:26:27 | ||||||
-- Unus Ex Altera -- | J'essaye ça qui fonctionne mais ne fait toujours pas l'enfoncement visuel du bouton :
Il n'y a pas d'erreur mais ce n'est pas ce que je voudrais obtenir visuellement, le chiffre rentré au clavier s'affiche bien mais le bouton ne s'enfonce pas comme sur un clique souris. Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
valaquarus | #10 Posté le 26/2/2023 à 12:59:25 | ||||||
-- Unus Ex Altera -- | Ceci fonctionne aussi sauf que cela casse le click à la souris :
Que l'on appelle (pour les chiffres) par :
Si on a attribué une action nommée Achiffres à tous les chiffres. Comme le dit la documentation officielle Valaquarus Ou bien, alors :
Mais c'est comment qu'on clique ?? Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
spheris | #11 Posté le 26/2/2023 à 16:19:11 | ||||||
Valaquarus, Ne le dis à personne mais j'ai une fausse astuce pour toi qui marche pas mal : Joues avec la bordure comme ceci, tu verras c'est bleuffant : Si tu veux pseudo cliquer le bouton 7 à partir du code voici la méthode :
| |||||||
valaquarus | #12 Posté le 26/2/2023 à 16:49:02 | ||||||
-- Unus Ex Altera -- | J'ai fait ça pour utiliser le group :
c'est pas beau car le focus n'arrête pas de se balader où il veut. Mais j'aime bien l'idée. Mais en fait j'avais pas fait attention à la console : gb.qt5: warning: calling the event loop during a keyboard event handler is ignored Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
spheris | #13 Posté le 26/2/2023 à 18:40:39 | ||||||
Valaquarus, Je pense plutôt à une commande externe à gb genre :
Yes of course... | |||||||
valaquarus | #14 Posté le 26/2/2023 à 19:47:30 | ||||||
-- Unus Ex Altera -- | Apparemment je ne sais m'en servir :
et rien ne se passe pourtant ça correspond bien aux pages man. En fait ça marche si je déplace la souris sur le bon control button. Maintenant je ne sais pas déplacer la souris sur le bon control button par le code. Avec Mouse.Move(x,y) c'est bon mais comment je retrouve x et y pour le control Button 7 ou 3 ou ... Valaquarus Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||||||
spheris | #15 Posté le 27/2/2023 à 08:53:14 | ||||||
Je dirais avant ton xdotool
pour aller dans le bouton, (tu peux même le vérifier en mettant un print dans l'évènement ENTER du bouton). | |||||||
123 |