Alanları otomatik olarak anında nasıl doldurabilirim?


11

İlk alan bir açılır menü olduğu bir nitelik tablosu oluşturmak için arıyorum ('değer haritası' düzenleme widget'ı kullanarak bunu başardım), ama sonraki bölüm için bir yöntem bulmak için mücadele ediyorum;

Değer açılır menüden seçildikten sonra, bitişik hücrenin (sonraki alanda) açılır menüdeki değere göre otomatik olarak doldurulmasını istiyorum. Yani mesela; açılan değer = A ise, bitişik alan = 1. Veya açılan değer = B ise, bitişik alan değeri = 3 vb.

Alan hesaplayıcısını kullanarak, alanları ayrı bir işlemin bir parçası olarak otomatik olarak doldurmanın mümkün olduğunu anlıyorum, ancak alanların mümkünse açılır değer seçili olarak aynı anda doldurulmasını istiyorum.

Windows 7 ve QGIS 1.8 sürümünü kullanıyorum.

Çok teşekkürler.

Yanıtlar:


9

Bunu yapmak için biraz pitona ihtiyacınız olacak.

Bu çok güzel blog gönderisini buradan okuyabilirsiniz

FillForm.py adında aşağıdakine benzer bir komut dosyası oluşturun ve projenizin yanına yerleştirin

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' )

Git Vektör Katman Özellikleri => Genel ve FormFill.formOpen girmek Init işlevi hat düzenlemek.


Qgis 2.10 ile yapmak mümkün mü? 1.8'in birçok farklılığı var mı?
Diogo Caribé

evet hala mümkün
Ian Turton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.