[PyQt] signal-slot connect problem

Martin Höfling martin.hoefling at gmx.de
Tue Jan 8 16:45:15 GMT 2008


Hi all,

I am trying to create a filter Toolbar bar class, filtering a model.

why does the following connect command  in the loadModel Method not work?:

class FilterToolBar(QToolBar):
    def __init__(self):
        super(FilterToolBar,self).__init__(QString("Filter"))
        self.expFilterCombo=QComboBox()
        self.projFilterCombo=QComboBox()
        self.expFilterCombo.setVisible(True)
        self.projFilterCombo.setVisible(True)
        self.addWidget(self.expFilterCombo)
        self.addWidget(self.projFilterCombo)
        self.expFilterCombo.setEditable(True)
        self.projFilterCombo.setEditable(True)
        
    def loadModel(self,  proxymdl1,  proxymdl2, model):
        self.proxymdlexp=proxymdl1
        self.proxymdlproj=proxymdl2
        self.expFilterCombo.clear()
        self.projFilterCombo.clear()
        self.expFilterCombo.clearEditText()
        self.projFilterCombo.clearEditText()
        exps=model.experiments.keys()
        projs=model.projects.keys()
        addToComboBox(exps, self.expFilterCombo)
        addToComboBox(projs, self.projFilterCombo)

#problem section start
        self.connect(self.expFilterCombo, SIGNAL("editTextChanged()"), 
self.expFilterChanged)
        self.connect(self.projFilterCombo, SIGNAL("editTextChanged()"), 
self.projFilterChanged)
#problem section stop
        
    def expFilterChanged(self):
       print "Filter Exp update"
       self.proxymdlexp.setFilterFixedString(self.expFilterCombo.itemText())
       self.proxymdlexp.setFilterKeyColumn(EXPERIMENT)
    
    def projFilterChanged(self):
       print "Filter Proj update"
       self.proxymdlproj.setFilterFixedString(self.projFilterCombo.itemText())
        self.proxymdlproj.setFilterKeyColumn(PROJECT)

The filter toolbar is created on startup and the loadModel Method is called 
when a new model has been loaded. Nothing happens if i change the text.

Best
	Martin


More information about the PyQt mailing list