El diseño del formulario
Usted tiene los siguientes métodos para hacer esto:
QgsVectorLayer.setEditForm( '/ruta/a/su/interfaz de usuario/archivo' )
para proporcionar una interfaz de usuario archivo
y
QgsVectorLayer.setEditFormInit( 'python.La función' )
para proporcionar un python método init
Así que tener un QgsVectorLayer vl
el siguiente hará lo que usted está buscando
vl.setEditForm( '/home/me/uifile.ui' )
vl.setEditFormInit( 'RoadForm.formOpen' )
A partir de QGIS 2.0 usted también tendrá:
QgsVectorLayer.setEditorLayout( QgsVectorLayer::EditorLayout )
Proporcionan QgsVectorLayer.GeneratedLayout
, QgsVectorLayer.TabLayout
o QgsVectorLayer.UiFileLayout
de especificar qué tipo de diseño que desee. Esto le permite especificar el nuevo arrastrar y soltar" (TabLayout).
Widget de diseño
Actualización: a partir de QGIS 2.4 habrá nuevos métodos (QgsVectorLayer.setEditorWidgetV2 y setEditorWidgetV2Config) a cambio de un editor de tipo de widget y su configuración. El método descrito aquí seguirán funcionando, pero está marcado como obsoleto.
Hay un número de métodos relacionados con los widgets específicos que desea utilizar:
Uso QgsVectorLayer.setEditType( fieldIdx, editType ) para especificar el tipo de edición que desea utilizar para el widget de campo de índice fieldIdx. editType es uno de estos.
Para configurar el comportamiento del widget utilice los métodos siguientes (dependiendo de la disponibilidad de widget opciones de configuración del curso):