当前位置: 首页>>代码示例>>Python>>正文


Python QgsMapCanvas.setMouseTracking方法代码示例

本文整理汇总了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'

#.........这里部分代码省略.........
开发者ID:crpAnderson,项目名称:SWMM-EPANET_User_Interface,代码行数:103,代码来源:frmMain.py


注:本文中的qgis.gui.QgsMapCanvas.setMouseTracking方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。