PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : noch ne QT frage ...



TheDodger
07-11-2001, 14:38
hi!

folgendes sei als gegeben zu betrachten:

eine einfach QT-Application, mit dem Designer erzeugt. Im unteren Bereich eine Statusbar und ein paar Menüs.

Nach dem kompilieren, werden jetzt in der Statusbar die Menüpunkte angezeigt, die gerade aktiv sind.

--
Und jetzt meine Frage.

Wie kann ich es anstellen, das ich bei jedem gewünschten Control (ListView, LineEdit, etc.) welches ich in die Application lege, genau diesen Effekt erhalte?

QToolTip() ist es nicht und mit QWhatsThis() erreiche ich auch nicht das gewünschte Ergebniss (wieso eigentlich auch? ;) die Klassen sind dafür auch gar nicht da :D )

stefan77
07-11-2001, 19:40
KDE und Qt Programmierung(Seite 456):
Zusätzlich zum Text im ToolTip kann man einen ... Text per Signal verschicken.
...


MyMainWindow::MyMainWindow(){
QToolTipGroup*ttg=new ...;
connect(ttg, SIGNAL(showtip(const QString&)), this, SLOT(statusTip(const QString&)));
connect(ttg, SIGNAL(remove()), statusbar(), SLOT(clear()));
}
void MyMainWindow::statusTip(const QString&){
statusBar()->message(tip);
}


SJW

P.S. Habs selbst noch nicht getestet.:rolleyes:

TheDodger
07-11-2001, 20:02
Original geschrieben von stefan77
KDE und Qt Programmierung(Seite 456):
Zusätzlich zum Text im ToolTip kann man einen ... Text per Signal verschicken.

wenn ich's hätte ...
ich habe nur den dicken wälzer von SuSE-Press QT Programmierung .... und da hab ich nicht's gefunden :)






MyMainWindow::MyMainWindow(){
QToolTipGroup*ttg=new ...;
connect(ttg, SIGNAL(showtip(const QString&)), this, SLOT(statusTip(const QString&)));
connect(ttg, SIGNAL(remove()), statusbar(), SLOT(clear()));
}
void MyMainWindow::statusTip(const QString&){
statusBar()->message(tip);
}


SJW

P.S. Habs selbst noch nicht getestet.:rolleyes:

und ich kanns erst morgen testen :)
und as hab ich grad getan ...
aber meines wissen, kann das ja gar nicht funktionieren ... weil ich vom QLineEdit (oder QListView) ja ein OnFocusEvent() benutzen müsste ... also müsste ich eine eigene Klasse ableiten ... hmmmm .... weiter am testen

stefan77
08-11-2001, 20:32
Das ist doch C++, oder?

Die Klassen ableiten im Konstruktor nur den orginal Konstuktor aufrufen.
Das Event überschreiben und ein signal "emitiern" z.B. getfocus(QString) oder so, und dann das Orginal Event aufrufen QListView::Event().

So habe ich das QMultiLineEdit abgeleited und die Events überschrieben um Zeile/Spalte in der StatusBar anzuzeigen.

SJW

TheDodger
10-11-2001, 11:25
Original geschrieben von stefan77
Das ist doch C++, oder?

Die Klassen ableiten im Konstruktor nur den orginal Konstuktor aufrufen.
Das Event überschreiben und ein signal "emitiern" z.B. getfocus(QString) oder so, und dann das Orginal Event aufrufen QListView::Event().
SJW

so ähnlcih haben wir das jetzt auch gelöst.
ich würde mich ja gern ein wenig mit dem erstellen eigener widget beschäftigen, habe aber noch kein richtig gutes, ausführliches tutorial gefunden. :(