本文整理汇总了Python中qgis.gui.QgsMapCanvas.setMouseTracking方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapCanvas.setMouseTracking方法的具体用法?Python QgsMapCanvas.setMouseTracking怎么用?Python QgsMapCanvas.setMouseTracking使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.gui.QgsMapCanvas
的用法示例。
在下文中一共展示了QgsMapCanvas.setMouseTracking方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: frmMain
# 需要导入模块: from qgis.gui import QgsMapCanvas [as 别名]
# 或者: from qgis.gui.QgsMapCanvas import setMouseTracking [as 别名]
class frmMain(QtGui.QMainWindow, Ui_frmMain):
def __init__(self, q_application):
QtGui.QMainWindow.__init__(self, None)
self.setupUi(self)
self.q_application = q_application
self.layers = []
self._forms = []
"""List of editor windows used during this session, kept here so they are not automatically closed."""
self.model = "Not Set"
self.project_type = Project
self.project = None
self.obj_tree = None
self.obj_list = None
self.obj_view_model = QStandardItemModel()
self.plugins = self.get_plugins()
self.populate_plugins_menu()
QtCore.QObject.connect(self.actionStdNewProjectMenu, QtCore.SIGNAL('triggered()'), self.new_project)
QtCore.QObject.connect(self.actionStdNewProject, QtCore.SIGNAL('triggered()'), self.new_project)
QtCore.QObject.connect(self.actionStdOpenProjMenu, QtCore.SIGNAL('triggered()'), self.open_project)
QtCore.QObject.connect(self.actionStdOpenProj, QtCore.SIGNAL('triggered()'), self.open_project)
QtCore.QObject.connect(self.actionStdExit, QtCore.SIGNAL('triggered()'), self.action_exit)
QtCore.QObject.connect(self.actionIPython, QtCore.SIGNAL('triggered()'), self.script_ipython)
QtCore.QObject.connect(self.actionExec, QtCore.SIGNAL('triggered()'), self.script_exec)
QtCore.QObject.connect(self.actionStdSave, QtCore.SIGNAL('triggered()'), self.save_project)
QtCore.QObject.connect(self.actionStdSaveMenu, QtCore.SIGNAL('triggered()'), self.save_project)
QtCore.QObject.connect(self.actionStdSave_As, QtCore.SIGNAL('triggered()'), self.save_project_as)
QtCore.QObject.connect(self.actionStdRun_Simulation, QtCore.SIGNAL('triggered()'), self.run_simulation)
QtCore.QObject.connect(self.actionRun_SimulationMenu, QtCore.SIGNAL('triggered()'), self.run_simulation)
QtCore.QObject.connect(self.actionStdProjCalibration_Data, QtCore.SIGNAL('triggered()'), self.calibration_data)
self.setAcceptDrops(True)
self.tree_section = ''
try:
from qgis.core import QgsApplication
from qgis.gui import QgsMapCanvas
from map_tools import EmbedMap
# TODO: make sure this works on all platforms, both in dev environment and in our installed packages
search_paths = [os.path.join(INSTALL_DIR, "qgis"),
os.path.join(INSTALL_DIR, "../qgis"),
os.path.join(INSTALL_DIR, "../../qgis"),
"C:/OSGeo4W/apps/qgis/",
"/usr",
"/Applications/QGIS.app/Contents/MacOS"]
if os.environ.has_key("QGIS_HOME"):
search_paths.insert(0, os.environ.get("QGIS_HOME"))
if os.environ.has_key("QGIS_PREFIX_PATH"):
search_paths.insert(0, os.environ.get("QGIS_PREFIX_PATH"))
try:
for qgis_home in search_paths:
if os.path.isdir(qgis_home):
QgsApplication.setPrefixPath(qgis_home, True)
QgsApplication.initQgis()
self.canvas = QgsMapCanvas(self, 'mapCanvas')
self.canvas.setMouseTracking(True)
self.map_widget = EmbedMap(session=self, mapCanvas=self.canvas)
self.map_win = self.map.addSubWindow(self.map_widget, QtCore.Qt.Widget)
if self.map_win:
self.map_win.setGeometry(0, 0, 600, 400)
self.map_win.setWindowTitle('Study Area Map')
self.map_win.show()
QtCore.QObject.connect(self.actionAdd_Vector, QtCore.SIGNAL('triggered()'), self.map_addvector)
QtCore.QObject.connect(self.actionAdd_Raster, QtCore.SIGNAL('triggered()'), self.map_addraster)
QtCore.QObject.connect(self.actionPan, QtCore.SIGNAL('triggered()'), self.setQgsMapTool)
QtCore.QObject.connect(self.actionZoom_in, QtCore.SIGNAL('triggered()'), self.setQgsMapTool)
QtCore.QObject.connect(self.actionZoom_out, QtCore.SIGNAL('triggered()'), self.setQgsMapTool)
QtCore.QObject.connect(self.actionZoom_full, QtCore.SIGNAL('triggered()'), self.zoomfull)
QtCore.QObject.connect(self.actionAdd_Feature, QtCore.SIGNAL('triggered()'), self.map_addfeature)
break # Success, done looking for a qgis_home
else:
QMessageBox.information(None, "QGIS Home not found", "Not creating map", QMessageBox.Ok)
except Exception as e1:
msg = str(e1) + '\n' + str(traceback.print_exc())
print(msg)
QMessageBox.information(None, "Error Initializing Map", msg, QMessageBox.Ok)
except Exception as eImport:
self.canvas = None
print "QGIS libraries not found, Not creating map\n" + str(eImport)
# QMessageBox.information(None, "QGIS libraries not found", "Not creating map\n" + str(eImport), QMessageBox.Ok)
self.onLoad()
def setQgsMapTool(self):
self.map_widget.setZoomInMode()
self.map_widget.setZoomOutMode()
self.map_widget.setPanMode()
def map_pan(self):
self.map_widget.setPanMode()
def zoomfull(self):
self.map_widget.zoomfull()
def map_addfeature(self):
self.map_widget.setAddFeatureMode()
def onGeometryAdded(self):
print 'Geometry Added'
#.........这里部分代码省略.........