QGIS 3 Value Relation current_value() not working in custom ui form Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?QGIS custom form: 'dynamic' default valueLimiting available values in dropdown field of QGIS form according to value selected in previous field?How to define a custom function that returns value of a field in an unsaved formQGIS Relations loss of form styleQGIS QT .ui not displaying attribute table valueQGIS default value form slowColouring attribute/field on QGIS data form based on value?QGIS not binding value from field to widget in my custom form (Qt Designer)Show towns per province using QGIS value relation widget?Referencing a table using PyQt5 on a custom form in QGIS 3

Is it dangerous to install hacking tools on my private linux machine?

White walkers, cemeteries and wights

Can you force honesty by using the Speak with Dead and Zone of Truth spells together?

Can humans save crash-landed aliens?

Relating to the President and obstruction, were Mueller's conclusions preordained?

Why is it faster to reheat something than it is to cook it?

Does the Black Tentacles spell do damage twice at the start of turn to an already restrained creature?

I got rid of Mac OSX and replaced it with linux but now I can't change it back to OSX or windows

Putting class ranking in CV, but against dept guidelines

Resize vertical bars (absolute-value symbols)

i2c bus hangs in master RPi access to MSP430G uC ~1 in 1000 accesses

Co-worker has annoying ringtone

Did Mueller's report provide an evidentiary basis for the claim of Russian govt election interference via social media?

Why not send Voyager 3 and 4 following up the paths taken by Voyager 1 and 2 to re-transmit signals of later as they fly away from Earth?

A term for a woman complaining about things/begging in a cute/childish way

Why is the change of basis formula counter-intuitive? [See details]

If Windows 7 doesn't support WSL, then what is "Subsystem for UNIX-based Applications"?

Sally's older brother

Is it possible for SQL statements to execute concurrently within a single session in SQL Server?

Is there hard evidence that the grant peer review system performs significantly better than random?

What is the "studentd" process?

what is the log of the PDF for a Normal Distribution?

Special flights

Simple HTTP Server



QGIS 3 Value Relation current_value() not working in custom ui form



Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?QGIS custom form: 'dynamic' default valueLimiting available values in dropdown field of QGIS form according to value selected in previous field?How to define a custom function that returns value of a field in an unsaved formQGIS Relations loss of form styleQGIS QT .ui not displaying attribute table valueQGIS default value form slowColouring attribute/field on QGIS data form based on value?QGIS not binding value from field to widget in my custom form (Qt Designer)Show towns per province using QGIS value relation widget?Referencing a table using PyQt5 on a custom form in QGIS 3



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I have a custom UI form made with Qt Designer with a couple of dropdown list, so I can easily edit a layer. I use a Value Relation on those fields to filter the displayed data. The problem is the function current_value() is not working when I use a provided ui file, but it works perfectly when I use the default autogenerated form. I've tried this both programatically and through the Layer Properties interface with the same result. I guess the problem is the function current_value() doesn't find the field to be filtered by, but I don't know how to point to that field correctly on my custom form. I want to set the state first, and then show only the towns that are on that state.



The form widget name is the same as the field name. I tried this both in QGIS 3.4.3 and 3.6.1. This is the code I used, though it worked fine on default form. Im I missing something or is this a bug ?



myLayer = QgsVectorLayer(uri.uri(), 'myLayer', 'postgres')
states = QgsVectorLayer(uri.uri(), 'states', 'postgres')
towns = QgsVectorLayer(uri.uri(), 'towns', 'postgres')

stateIndex = myLayer.fields().indexFromName('state')
townIndex = myLayer.fields().indexFromName('town')

myLayer.setEditorWidgetSetup(stateIndex, QgsEditorWidgetSetup('ValueRelation',
'Layer': states.id(),
'Key': 'id',
'Value': 'name'

))

myLayer.setEditorWidgetSetup(townIndex, QgsEditorWidgetSetup('ValueRelation',
'Layer': towns.id(),
'Key': 'id',
'Value': 'name',
'FilterExpression': '"fk_state" = current_value('state')'

))









share|improve this question






























    1















    I have a custom UI form made with Qt Designer with a couple of dropdown list, so I can easily edit a layer. I use a Value Relation on those fields to filter the displayed data. The problem is the function current_value() is not working when I use a provided ui file, but it works perfectly when I use the default autogenerated form. I've tried this both programatically and through the Layer Properties interface with the same result. I guess the problem is the function current_value() doesn't find the field to be filtered by, but I don't know how to point to that field correctly on my custom form. I want to set the state first, and then show only the towns that are on that state.



    The form widget name is the same as the field name. I tried this both in QGIS 3.4.3 and 3.6.1. This is the code I used, though it worked fine on default form. Im I missing something or is this a bug ?



    myLayer = QgsVectorLayer(uri.uri(), 'myLayer', 'postgres')
    states = QgsVectorLayer(uri.uri(), 'states', 'postgres')
    towns = QgsVectorLayer(uri.uri(), 'towns', 'postgres')

    stateIndex = myLayer.fields().indexFromName('state')
    townIndex = myLayer.fields().indexFromName('town')

    myLayer.setEditorWidgetSetup(stateIndex, QgsEditorWidgetSetup('ValueRelation',
    'Layer': states.id(),
    'Key': 'id',
    'Value': 'name'

    ))

    myLayer.setEditorWidgetSetup(townIndex, QgsEditorWidgetSetup('ValueRelation',
    'Layer': towns.id(),
    'Key': 'id',
    'Value': 'name',
    'FilterExpression': '"fk_state" = current_value('state')'

    ))









    share|improve this question


























      1












      1








      1








      I have a custom UI form made with Qt Designer with a couple of dropdown list, so I can easily edit a layer. I use a Value Relation on those fields to filter the displayed data. The problem is the function current_value() is not working when I use a provided ui file, but it works perfectly when I use the default autogenerated form. I've tried this both programatically and through the Layer Properties interface with the same result. I guess the problem is the function current_value() doesn't find the field to be filtered by, but I don't know how to point to that field correctly on my custom form. I want to set the state first, and then show only the towns that are on that state.



      The form widget name is the same as the field name. I tried this both in QGIS 3.4.3 and 3.6.1. This is the code I used, though it worked fine on default form. Im I missing something or is this a bug ?



      myLayer = QgsVectorLayer(uri.uri(), 'myLayer', 'postgres')
      states = QgsVectorLayer(uri.uri(), 'states', 'postgres')
      towns = QgsVectorLayer(uri.uri(), 'towns', 'postgres')

      stateIndex = myLayer.fields().indexFromName('state')
      townIndex = myLayer.fields().indexFromName('town')

      myLayer.setEditorWidgetSetup(stateIndex, QgsEditorWidgetSetup('ValueRelation',
      'Layer': states.id(),
      'Key': 'id',
      'Value': 'name'

      ))

      myLayer.setEditorWidgetSetup(townIndex, QgsEditorWidgetSetup('ValueRelation',
      'Layer': towns.id(),
      'Key': 'id',
      'Value': 'name',
      'FilterExpression': '"fk_state" = current_value('state')'

      ))









      share|improve this question
















      I have a custom UI form made with Qt Designer with a couple of dropdown list, so I can easily edit a layer. I use a Value Relation on those fields to filter the displayed data. The problem is the function current_value() is not working when I use a provided ui file, but it works perfectly when I use the default autogenerated form. I've tried this both programatically and through the Layer Properties interface with the same result. I guess the problem is the function current_value() doesn't find the field to be filtered by, but I don't know how to point to that field correctly on my custom form. I want to set the state first, and then show only the towns that are on that state.



      The form widget name is the same as the field name. I tried this both in QGIS 3.4.3 and 3.6.1. This is the code I used, though it worked fine on default form. Im I missing something or is this a bug ?



      myLayer = QgsVectorLayer(uri.uri(), 'myLayer', 'postgres')
      states = QgsVectorLayer(uri.uri(), 'states', 'postgres')
      towns = QgsVectorLayer(uri.uri(), 'towns', 'postgres')

      stateIndex = myLayer.fields().indexFromName('state')
      townIndex = myLayer.fields().indexFromName('town')

      myLayer.setEditorWidgetSetup(stateIndex, QgsEditorWidgetSetup('ValueRelation',
      'Layer': states.id(),
      'Key': 'id',
      'Value': 'name'

      ))

      myLayer.setEditorWidgetSetup(townIndex, QgsEditorWidgetSetup('ValueRelation',
      'Layer': towns.id(),
      'Key': 'id',
      'Value': 'name',
      'FilterExpression': '"fk_state" = current_value('state')'

      ))






      qgis pyqgis qgis-3 pyqt5






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 12 at 12:55









      J. Monticolo

      1,958320




      1,958320










      asked Apr 12 at 12:34









      DanielDaniel

      61




      61




















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "79"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f318611%2fqgis-3-value-relation-current-value-not-working-in-custom-ui-form%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f318611%2fqgis-3-value-relation-current-value-not-working-in-custom-ui-form%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

          QGIS export composer to PDF scale the map [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Print Composer QGIS 2.6, how to export image?QGIS 2.8.1 print composer won't export all OpenCycleMap base layer tilesSave Print/Map QGIS composer view as PNG/PDF using Python (without changing anything in visible layout)?Export QGIS Print Composer PDF with searchable text labelsQGIS Print Composer does not change from landscape to portrait orientation?How can I avoid map size and scale changes in print composer?Fuzzy PDF export in QGIS running on macSierra OSExport the legend into its 100% size using Print ComposerScale-dependent rendering in QGIS PDF output

          PDF-ში გადმოწერა სანავიგაციო მენიუproject page