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


Python core.QgsActionManager类代码示例

本文整理汇总了Python中qgis.core.QgsActionManager的典型用法代码示例。如果您正苦于以下问题:Python QgsActionManager类的具体用法?Python QgsActionManager怎么用?Python QgsActionManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了QgsActionManager类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

    def __init__(self, methodName):
        """Run once on class initialization."""
        unittest.TestCase.__init__(self, methodName)

        self.layer = QgsVectorLayer("Point?field=fldtxt:string&field=fldint:integer&field=flddate:datetime",
                                    "test_layer", "memory")
        self.manager = QgsActionManager(self.layer)

        # make a little script to aid in recording action outputs
        # this is just a little python file which writes out its arguments to a text file
        self.run_script_file = os.path.join(QDir.tempPath(), 'run_action.py')
        with open(self.run_script_file, 'w') as s:
            s.write('import sys\n')
            s.write('open(sys.argv[1], "w").write(" ".join(sys.argv[2:]))\n')
开发者ID:SrNetoChan,项目名称:Quantum-GIS,代码行数:14,代码来源:test_qgsactionmanager.py

示例2: TestQgsActionManager

class TestQgsActionManager(unittest.TestCase):

    def __init__(self, methodName):
        """Run once on class initialization."""
        unittest.TestCase.__init__(self, methodName)

        self.layer = QgsVectorLayer("Point?field=fldtxt:string&field=fldint:integer&field=flddate:datetime",
                                    "test_layer", "memory")
        self.manager = QgsActionManager(self.layer)

        # make a little script to aid in recording action outputs
        # this is just a little python file which writes out its arguments to a text file
        self.run_script_file = os.path.join(QDir.tempPath(), 'run_action.py')
        with open(self.run_script_file, 'w') as s:
            s.write('import sys\n')
            s.write('open(sys.argv[1], "w").write(" ".join(sys.argv[2:]))\n')

    def get_temp_filename(self):
        tmpFile = QTemporaryFile()
        tmpFile.open()  # fileName is no available until open
        tmpName = tmpFile.fileName()
        tmpFile.close()
        tmpFile.setAutoRemove(False)
        return tmpName

    def create_action(self, dest_file, text_to_write):
        """ returns an action which writes some output to a file """
        return 'python {} {} {}'.format(self.run_script_file, dest_file, text_to_write)

    def testLayer(self):
        self.assertEqual(self.manager.layer(), self.layer)

    def testAddAction(self):
        """ Test adding actions """

        # should be empty to start with
        self.assertEqual(self.manager.actions(), [])

        # add an action
        action1 = QgsAction(QgsAction.GenericPython, 'Test Action', 'i=1')
        self.manager.addAction(action1)
        self.assertEqual(len(self.manager.actions()), 1)
        self.assertEqual(self.manager.actions()[0].type(), QgsAction.GenericPython)
        self.assertEqual(self.manager.actions()[0].name(), 'Test Action')
        self.assertEqual(self.manager.actions()[0].command(), 'i=1')

        # add another action
        action2 = QgsAction(QgsAction.Windows, 'Test Action2', 'i=2')
        self.manager.addAction(action2)
        self.assertEqual(len(self.manager.actions()), 2)
        self.assertEqual(self.manager.action(action2.id()).type(), QgsAction.Windows)
        self.assertEqual(self.manager.action(action2.id()).name(), 'Test Action2')
        self.assertEqual(self.manager.action(action2.id()).command(), 'i=2')

        id3 = self.manager.addAction(QgsAction.Generic, 'Test Action3', 'i=3')
        self.assertEqual(len(self.manager.actions()), 3)
        self.assertEqual(self.manager.action(id3).type(), QgsAction.Generic)
        self.assertEqual(self.manager.action(id3).name(), 'Test Action3')
        self.assertEqual(self.manager.action(id3).command(), 'i=3')

    def testRemoveActions(self):
        """ test removing actions """

        # add an action
        self.manager.addAction(QgsAction.GenericPython, 'test_action', 'i=1')

        # clear the manager and check that it's empty
        self.manager.clearActions()
        self.assertEqual(self.manager.actions(), [])

        # add some actions
        id1 = self.manager.addAction(QgsAction.GenericPython, 'test_action', 'i=1')
        id2 = self.manager.addAction(QgsAction.GenericPython, 'test_action2', 'i=2')
        id3 = self.manager.addAction(QgsAction.GenericPython, 'test_action3', 'i=3')

        # remove non-existent action
        self.manager.removeAction(QUuid.createUuid())

        # remove them one by one
        self.manager.removeAction(id2)
        self.assertEqual(len(self.manager.actions()), 2)
        self.assertEqual(self.manager.action(id1).name(), 'test_action')
        self.assertEqual(self.manager.action(id3).name(), 'test_action3')
        self.manager.removeAction(id1)
        self.assertEqual(len(self.manager.actions()), 1)
        self.assertEqual(self.manager.action(id3).name(), 'test_action3')
        self.manager.removeAction(id3)
        self.assertEqual(len(self.manager.actions()), 0)

    def testDefaultAction(self):
        """ test default action for layer"""

        self.manager.clearActions()
        action1 = QgsAction(QgsAction.GenericPython, 'test_action', '', 'i=1', False, actionScopes={'Feature'})
        self.manager.addAction(action1)
        action2 = QgsAction(QgsAction.GenericPython, 'test_action2', 'i=2')
        self.manager.addAction(action2)

        # initially should be not set
        self.assertFalse(self.manager.defaultAction('Feature').isValid())
#.........这里部分代码省略.........
开发者ID:SrNetoChan,项目名称:Quantum-GIS,代码行数:101,代码来源:test_qgsactionmanager.py

示例3: TestQgsActionManager

class TestQgsActionManager(unittest.TestCase):

    def __init__(self, methodName):
        """Run once on class initialization."""
        unittest.TestCase.__init__(self, methodName)

        self.layer = QgsVectorLayer("Point?field=fldtxt:string&field=fldint:integer&field=flddate:datetime",
                                    "test_layer", "memory")
        self.manager = QgsActionManager(self.layer)

        # make a little script to aid in recording action outputs
        # this is just a little python file which writes out it's arguments to a text file
        self.run_script_file = os.path.join(QDir.tempPath(), 'run_action.py')
        with open(self.run_script_file, 'w') as s:
            s.write('import sys\n')
            s.write('open(sys.argv[1], "w").write(" ".join(sys.argv[2:]))\n')

    def get_temp_filename(self):
        tmpFile = QTemporaryFile()
        tmpFile.open()  # fileName is no available until open
        tmpName = tmpFile.fileName()
        tmpFile.close()
        tmpFile.setAutoRemove(False)
        return tmpName

    def create_action(self, dest_file, text_to_write):
        """ returns an action which writes some output to a file """
        return 'python {} {} {}'.format(self.run_script_file, dest_file, text_to_write)

    def testLayer(self):
        self.assertEqual(self.manager.layer(), self.layer)

    def testAddAction(self):
        """ Test adding actions """

        # should be empty to start with
        self.assertEqual(self.manager.size(), 0)
        self.assertEqual(self.manager.listActions(), [])

        # add an action
        self.manager.addAction(QgsAction.GenericPython, 'test_action', 'i=1')
        self.assertEqual(self.manager.size(), 1)
        self.assertEqual(self.manager.listActions()[0].type(), QgsAction.GenericPython)
        self.assertEqual(self.manager.listActions()[0].name(), 'test_action')
        self.assertEqual(self.manager.listActions()[0].action(), 'i=1')
        self.assertEqual(self.manager.at(0).name(), 'test_action')
        self.assertEqual(self.manager[0].name(), 'test_action')

        # add another action
        self.manager.addAction(QgsAction.Windows, 'test_action2', 'i=2')
        self.assertEqual(self.manager.size(), 2)
        self.assertEqual(self.manager.listActions()[1].type(), QgsAction.Windows)
        self.assertEqual(self.manager.listActions()[1].name(), 'test_action2')
        self.assertEqual(self.manager.listActions()[1].action(), 'i=2')
        self.assertEqual(self.manager.at(1).name(), 'test_action2')
        self.assertEqual(self.manager[1].name(), 'test_action2')

        # add a predefined action
        action = QgsAction(QgsAction.Unix, 'test_action3', 'i=3', False)
        self.manager.addAction(action)
        self.assertEqual(self.manager.size(), 3)
        self.assertEqual(self.manager.listActions()[2].type(), QgsAction.Unix)
        self.assertEqual(self.manager.listActions()[2].name(), 'test_action3')
        self.assertEqual(self.manager.listActions()[2].action(), 'i=3')
        self.assertEqual(self.manager.at(2).name(), 'test_action3')
        self.assertEqual(self.manager[2].name(), 'test_action3')

    def testRemoveActions(self):
        """ test removing actions """

        # add an action
        self.manager.addAction(QgsAction.GenericPython, 'test_action', 'i=1')

        # clear the manager and check that it's empty
        self.manager.clearActions()
        self.assertEqual(self.manager.size(), 0)
        self.assertEqual(self.manager.listActions(), [])

        # add some actions
        self.manager.addAction(QgsAction.GenericPython, 'test_action', 'i=1')
        self.manager.addAction(QgsAction.GenericPython, 'test_action2', 'i=2')
        self.manager.addAction(QgsAction.GenericPython, 'test_action3', 'i=3')

        # remove non-existant action
        self.manager.removeAction(5)

        # remove them one by one
        self.manager.removeAction(1)
        self.assertEqual(self.manager.size(), 2)
        self.assertEqual(self.manager.listActions()[0].name(), 'test_action')
        self.assertEqual(self.manager.listActions()[1].name(), 'test_action3')
        self.manager.removeAction(0)
        self.assertEqual(self.manager.size(), 1)
        self.assertEqual(self.manager.listActions()[0].name(), 'test_action3')
        self.manager.removeAction(0)
        self.assertEqual(self.manager.size(), 0)

    def testRetrieveAction(self):
        """ test retrieving actions """
        self.manager.clearActions()
#.........这里部分代码省略.........
开发者ID:fritsvanveen,项目名称:QGIS,代码行数:101,代码来源:test_qgsactionmanager.py


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