फ़ील्ड को स्वचालित रूप से कैसे पॉप्युलेट करें?


11

मैं एक विशेषता तालिका बनाने के लिए देख रहा हूँ जहाँ पहला फ़ील्ड ड्रॉप-डाउन मेनू है (मैंने 'मान मानचित्र' संपादन विजेट का उपयोग करके इसे प्राप्त किया है), लेकिन मैं अगले भाग के लिए एक विधि खोजने के लिए संघर्ष कर रहा हूँ;

ड्रॉप-डाउन मेनू से मान का चयन होने के बाद, मैं चाहूंगा कि निकटवर्ती सेल (अगले क्षेत्र में) ड्रॉप-डाउन मेनू में मूल्य के अनुसार स्वचालित रूप से आबादी हो। उदाहरण के लिए; यदि ड्रॉप-डाउन मान = ए, तो निकटवर्ती क्षेत्र = 1. या यदि ड्रॉप-डाउन मान = बी, तो निकट क्षेत्र मान = 3, आदि।

मुझे लगता है कि फ़ील्ड कैलकुलेटर का उपयोग करके, एक अलग प्रक्रिया के हिस्से के रूप में फ़ील्ड्स को ऑटो-पॉप्युलेट करना संभव है, लेकिन मैं चाहूंगा कि फ़ील्ड्स को उसी समय पर पॉपुलेट किया जाए जब संभव हो तो ड्रॉप-डाउन मान चुना गया हो।

मैं विंडोज़ 7 और क्यूजीआईएस संस्करण 1.8 का उपयोग कर रहा हूं।

बहुत धन्यवाद।

जवाबों:


9

ऐसा करने के लिए आपको थोड़ा अजगर की आवश्यकता होगी।

आप इस बहुत अच्छी ब्लॉग पोस्ट को यहाँ पढ़ सकते हैं

निम्न FillForm.py नामक एक स्क्रिप्ट बनाएं और इसे अपनी परियोजना के बगल में रखें

from PyQt4.QtCore import *
from PyQt4.QtGui import *

aField = None
bField = None

def formOpen(dialog,layerid,featureid):
    global aField
    aField = dialog.findChild(QComboBox,"fieldA")
    global bField
    bField = dialog.findChild(QLineEdit,"fieldB")
    aField.currentIndexChanged.connect( aChanged )

def aChanged( value ):
    if ( aField.currentText() == 'A' )
        bField.setText( '1' )
    elif ( aField.currentText() == 'B' )
        bField.setText( '2' )

पर जाएं वेक्टर परत गुण => जनरल और में FormFill.formOpen दर्ज Init समारोह लाइन संपादित करें।


क्या यह 2.gis 2.10 में करना संभव है? क्या 1.8 के कई अंतर हैं?
डियोगो कैरिबे

हाँ यह अभी भी संभव है
इयान Turton
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.