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;
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
add a comment |
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
add a comment |
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
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
qgis pyqgis qgis-3 pyqt5
edited Apr 12 at 12:55
J. Monticolo
1,958320
1,958320
asked Apr 12 at 12:34
DanielDaniel
61
61
add a comment |
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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