@@ -106,14 +106,25 @@ def __init__(self, title = "I DON'T HAVE A NAME"):
106
106
self .rowsCount = 0
107
107
self .setTitle (title )
108
108
self .fieldsTypes = {}
109
+ self .fieldsContainer = {}
109
110
110
111
self .widget .setTitle (title )
111
112
112
113
self .nextCB = None
113
114
114
- def __registerField (self , name , widget , fieldType ):
115
+ def __registerField (self , name , widget , fieldType , container = None ):
115
116
self .fields [name ] = widget
116
117
self .fieldsTypes [name ] = fieldType
118
+ self .fieldsContainer [name ] = container
119
+
120
+ def __unregisterField (self , name ):
121
+ container = None
122
+ if name and name in self .fields :
123
+ container = self .fieldsContainer [name ]
124
+ del self .fields [name ]
125
+ del self .fieldsTypes [name ]
126
+ del self .fieldsContainer [name ]
127
+ return container
117
128
118
129
def onValidate (self , nextCB ):
119
130
self .nextCB = nextCB
@@ -266,6 +277,11 @@ def __addWidget(self, widget, row=-1, column=-1):
266
277
if row >= self .rowsCount :
267
278
self .rowsCount = row + 1
268
279
280
+ def delWidget (self , fieldName ):
281
+ # Not supported on every QtWidget
282
+ container = self .__unregisterField (fieldName )
283
+ if container :
284
+ self .pageLayout .removeWidget (container )
269
285
270
286
def setTitle (self ,title ):
271
287
self .widget .setWindowTitle (title )
@@ -422,7 +438,7 @@ def addBoxList(self, fieldName, label='', defaultValueTuple=([],''), toolTip='',
422
438
tableView .item (selectedIndex , 0 ).setSelected (True )
423
439
424
440
if fieldName :
425
- self .__registerField (fieldName , tableView , 'QListBox' )
441
+ self .__registerField (fieldName , tableView , 'QListBox' , w )
426
442
427
443
self .__addWidget (w )
428
444
@@ -478,7 +494,7 @@ def addRadioList(self, fieldName, label='', defaultValueTuple=([],''), toolTip='
478
494
buttonGroup .buttonReleased .connect (self .widget .completeChanged )
479
495
480
496
if fieldName :
481
- self .__registerField (fieldName , buttonGroup , 'QButtonGroup' )
497
+ self .__registerField (fieldName , buttonGroup , 'QButtonGroup' , w )
482
498
483
499
self .__addWidget (w )
484
500
0 commit comments