..digging the WWW I eventually found a solution, which in fact is quite straight forward.
So, here's my solution for the record:
'Name', 'Region',.. correspond to column A, B,.. from above, and the html-markup that is inserted on the fly corresponds to 'something'
Python-Script (markupForm.py
)
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def formOpen(dialog,layerid,featureid):
global nameField
nameField = dialog.findChild(QLineEdit,"Name")
global regionField
regionField = dialog.findChild(QLineEdit,"Region")
global altField
altField = dialog.findChild(QLineEdit,"Altitude")
global difficField
difficField = dialog.findChild(QLineEdit,"Difficulty")
global riskField
riskField = dialog.findChild(QLineEdit,"Risk")
global uphillField
uphillField = dialog.findChild(QLineEdit,"Uphill")
global valueField
valueField = dialog.findChild(QLineEdit,"Value")
global shuttleField
shuttleField = dialog.findChild(QLineEdit,"Shuttle")
global conflField
conflField = dialog.findChild(QLineEdit,"Conflict")
global descrField
descrField = dialog.findChild(QPlainTextEdit,"Description")
nameField.textChanged.connect( newDescr )
regionField.textChanged.connect( newDescr )
altField.textChanged.connect( newDescr )
difficField.textChanged.connect( newDescr )
riskField.textChanged.connect( newDescr )
uphillField.textChanged.connect( newDescr )
valueField.textChanged.connect( newDescr )
shuttleField.textChanged.connect( newDescr )
conflField.textChanged.connect( newDescr )
def newDescr():
descrField.setPlainText('<div id="topic" style="float:left; font-weight:bold; padding-right:10px;">Name:</br>Region:</br>Höehendifferenz:</br>Schwierigkeit:</br>Gefahr:</br>Erlebnis:</br>Aufstiegshilfe:</br>Uphill:</br>Konflikt:</div><div id="topic-text" style="width:330px;">' +
nameField.text() + '</br>' + regionField.text() + '</br>' + altField.text() + '</br>' +
difficField.text() + '</br>' + riskField.text() + '</br>' + uphillField.text() + '</br>' + valueField.text() + '</br>' +
shuttleField.text() + '</br>' + conflField.text() + '</div>')