Seite 1 von 1

QComboBox & Signal / Trigger

Verfasst: 31. Januar 2008 08:12
von ape
Hallo,

finde leider keine entsprechende Funktion in der Doku zu QComboBox, daher auf diesem Weg.

Ist es möglich mit dem Öffnen einer QcomboBox etwas zu triggern ?

d.h. sobald jmd die QComboBox mit der Maus oder Cursor/Tab aktiviert bzw aufklappt, eine Funktion auszuführen ?

Code: Alles auswählen

interfaceComboBox = new QComboBox(configureConnectionBox);
interfaceComboBox->setObjectName(QString::fromUtf8("interface"));
interfaceComboBox->setStatusTip(QString::fromUtf8("Select your interface of choice here."));       
interfaceComboBox->setToolTip(QString::fromUtf8("Select your interface of choice here."));   
interfaceComboBox->setGeometry(QRect(12,25,100,20));                                
connect(interfaceComboBox, SIGNAL(clicked()), this, SLOT(openInterfaceSelector())); 
Alternative Ideen ?


Grüße
ape

Verfasst: 31. Januar 2008 08:18
von franzf
Du könntest einen Eventfilter in deiner ComboBox installieren und das mousePressEvent abfangen. Dann kannst du damit machen was du willst ;)

edit:
Hier ein Link:
http://doc.trolltech.com/4.3/eventsandfilters.html

Oder du kannst von QComboBox ableiten und mousePressEvent überschreiben und dein triggerd() emittieren.

Suchs dir aus...

Verfasst: 31. Januar 2008 08:39
von ape
danke franzf für die Ideen

Verfasst: 31. Januar 2008 09:11
von upsala
Ich denke, daß es fast sinnvoller ist, daß showEvent der view view abzufragen.

Verfasst: 4. Februar 2008 09:46
von ape
wie wäre die folgende Idee:
--
re-implementierung von QComboBox::showPopup()


dann könnte ich doch sowas machen:

Code: Alles auswählen

void MainWindow::showPopup()
{
// re-Init-Section der Schnittstellen
// ....
// ....
// end- re-Init Section

QComboBox::showPopup();
} 
brauchbare idee ?