def testBetweenFilter(self): """ Test creating a between type filter """ layer = QgsVectorLayer( "Point?field=fldtext:string&field=fldint:integer", "test", "memory") form = QgsAttributeForm(layer) af = QgsAttributeFormEditorWidget(None, form) af.createSearchWidgetWrappers("DateTime", 0, {}) d1 = af.findChildren(QDateTimeEdit)[0] d2 = af.findChildren(QDateTimeEdit)[1] d1.setDateTime(QDateTime(QDate(2013, 5, 6), QTime())) d2.setDateTime(QDateTime(QDate(2013, 5, 16), QTime())) af.searchWidgetToolButton().setActiveFlags( QgsSearchWidgetWrapper.Between) self.assertEqual( af.currentFilterExpression(), '"fldtext">=\'2013-05-06\' AND "fldtext"<=\'2013-05-16\'') af.searchWidgetToolButton().setActiveFlags( QgsSearchWidgetWrapper.IsNotBetween) self.assertEqual( af.currentFilterExpression(), '"fldtext"<\'2013-05-06\' OR "fldtext">\'2013-05-16\'')
# coding: utf-8 from qgis.gui import QgsAttributeForm from qgis.utils import iface layer = iface.activeLayer() attribute_form = QgsAttributeForm(layer, layer.getFeatures().next()) attribute_form.setMode(QgsAttributeForm.SingleEditMode) # SingleEditMode, AddFeatureMode, MultiEditMode, SearchMode attribute_form.show()