Macro Mouse Cross/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
Line 18: Line 18:
<syntaxhighlight>
<syntaxhighlight>
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# Macro_Mouse_Cross mouse cursor to cross or arrow
# mouse cursor to Cross or Arrow + Grig
from PyQt4 import QtCore, QtGui
from PyQt4 import QtCore, QtGui
from pivy import coin
class ViewObserver:
class ViewObserver:
def logPosition(self, info):
def logPosition(self, info):
Line 29: Line 30:
# change the cursor Arrow
# change the cursor Arrow
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
elif (self.pos.upper() == "G"):

# "wmayer" http://forum.freecadweb.org/viewtopic.php?f=3&t=1065&hilit=cross#p8818
# Create Grid
grid=coin.SoType.fromName("SoDrawingGrid").createInstance()
Gui.ActiveDocument.ActiveView.getSceneGraph().addChild(grid)
v=Gui.activeDocument().activeView()
v=Gui.activeDocument().activeView()
o = ViewObserver()
o = ViewObserver()
c = v.addEventCallback("SoKeyboardEvent",o.logPosition)
c = v.addEventCallback("SoKeyboardEvent",o.logPosition)

</syntaxhighlight>
</syntaxhighlight>
===Les curseurs pouvant être utilisés===
===Les curseurs pouvant être utilisés===

Revision as of 03:58, 8 February 2014

File:Text-x-python Macro_Mouse_Cross

Description
Cette macro change la forme de la souris en une croix de précision.

Auteur: Mario52
Auteur
Mario52
Téléchargement
None
Liens
Version Macro
1.0
Dernière modification
None
Version(s) FreeCAD
None
Raccourci clavier
"C" "A"
Voir aussi
None

Description

Cette macro change la forme de la souris en une croix de précision..
Petit exemple d'utilisation de la class ViewObserver() et de l'utilisation du clavier avec SoKeyboardEvent

Macro_Mouse_Cross

Utilisation

  1. Pressez la touche C pour activer la croix.
  2. Pressez la touche A pour activer la flèche.

Script

Macro_Mouse_Cross.FCMacro

# -*- coding: utf-8 -*-
# mouse cursor to Cross or Arrow + Grig 
from PyQt4 import QtCore, QtGui
from pivy import coin
class ViewObserver:
   def logPosition(self, info):
       self.pos = info["Key"]
       if (self.pos.upper() == "C"):
           # change the cursor cross ( + )
           QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
       elif (self.pos.upper() == "A"):
           # change the cursor Arrow
           QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
       elif (self.pos.upper() == "G"):
           # "wmayer" http://forum.freecadweb.org/viewtopic.php?f=3&t=1065&hilit=cross#p8818
           # Create Grid
           grid=coin.SoType.fromName("SoDrawingGrid").createInstance()
           Gui.ActiveDocument.ActiveView.getSceneGraph().addChild(grid)
v=Gui.activeDocument().activeView()
o = ViewObserver()
c = v.addEventCallback("SoKeyboardEvent",o.logPosition)

Les curseurs pouvant être utilisés

ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IBeamCursor, SizeVerCursor, SizeHorCursor SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor PointingHandCursor, ForbiddenCursor, OpenHandCursor, ClosedHandCursor, WhatsThisCursor, BusyCursor, BitmapCursor

Limitations

Le curseur peut changer d'apparence suivant l'établi utilisé, il faut alors répéter l’opération.
Le curseur peut se substituer aux autre curseurs (ex: lors de l'agrandissement d'une fenêtre, coins...).
La macro reste résidente.