Signals und Slots in QT4

Autor

Dienstag, 12. Juni 2007 17:57:56

Nachdem ich mich nun seit ca. 2 Jahren nicht mehr mit QT-Programmierung befasst habe, versuche ich nun in QT4 einzusteigen und habe mir mit dem Designer ein UI für das Hauptfenster erstellt und im Groben das Programm angefangen.

Nun habe ich angefangen, einige Prozeduren zu schreiben, die bei bestimmten Widget-Events aufgerufen werden sollen. Dabei musste ich jedoch feststellen, daß es nicht möglich zu sein scheint, über den QT-Designer direkt auf eigene Slots zuzugreifen. Vielmehr scheinen nur Verbindungen zwischen zwei Widgets innerhalb der selben UI-Datei möglich zu sein. Also versuchte ich in die Hauptroutine Anweisungen einzubinden, die da für sorgen, daß z.B. beim Klick eines bestimmten Buttons eine bestimmte Prozedur aufgerufen wird. Da aber nun für das verwendete UI eine eigenständige Klasse definiert wird, weiss ich nicht so ganz, wie ich in der Hauptroutine heraus eine gültige Verbindung erstellen kann. Eine Anweisung wie diese funktioniert nicht:

QWidget::connect(&Ui_SC4Config::pushButton_quit,SIGNAL(clicked()),&app,SLOT(quit()));

Da das Programm einen sehr komplexen Dialog verwendet, der ständig verändert wird, habe ich nicht vor, den C++ Code, der aus dem UI erzeugt wird zu modifizieren oder zu verwursten.

Kann ich irgendwie eine Verbindung im Code oder über den Designer erzeugen, ohne dabei die Header- Datei, die der QTDesigner erzeugt verändern zu müssen?

GoaSkin

0 Antworten


Antworten

Related content

  • K-splitter
  • Adventskalender in C++
    Wieder einmal steht die Adventszeit völlig unerwartet vor der Tür. Doch zum Glück zaubern Gideon und ein wenig C++ schnell einen hübschen KDE-Adventskalender für Freunde, Verwandte und Bekannte, während man selbst ein wenig programmieren lernt.
  • Fortgeschrittenes Basteln
    Plasmoiden erweitern den KDE-4-Desktop um sinnvolle Anwendungen. KDE-Entwickler Sebastian Kügler erklärt, wie Sie die kleinen Helfer programmieren.
  • Grafische Oberflächen mit QT
    Grafische Oberflächen (GUIs) für KDE programmieren: Das klingt anstrengender, als es tatsächlich ist. Mit Qt entwickeln Sie auf einfache Weise einen Bildbetrachter – wir zeigen, wie es geht.
  • GUI-Programmierung mit Qt Designer
    Wenn die Englisch-, C++- und Qt-Kenntnisse ausreichen, macht der Qt Designer grafische Benutzeroberflächen (GUIs) per Mausklick möglich.

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 0 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...

Jetzt auf den Mailinglisten

[EasyLinux-Suse] Desktoparbeitsfläche_stürzt_beim_starten_ab
Yanik Helmholtz, 25.07.2014 18:07
Hallo Liste Ich habe Opensuse 13.1 64bit mit Arbeitsumgebung Cinnamon. Leider kann ich diese seit einig...
Re: [EasyLinux-Ubuntu] Drucker
Anja Greipe, 25.07.2014 11:49
Ja, vielen Dank! Mach ich am WE! Am 25. Juli 2014 11:38 schrieb Hartmut Haase : > Hallo Anne, > mac...
Re: [EasyLinux-Ubuntu] Drucker
Hartmut Haase, 25.07.2014 11:38
Hallo Anne, mach mal bitte, was Stefan empfohlen hat: Terminal mit root-Rechten => Befehl tail -f /var...
Re: [EasyLinux-Ubuntu] Drucker
Hartmut Haase, 25.07.2014 11:31
Hallo Liste, ich werde mal für Anne antworten, weil wir das gemeinsam durchgezogen haben. 1. Anne hat de...
Re: [EasyLinux-Ubuntu] Drucker
Anja Greipe, 25.07.2014 11:12
Ja, die vielen Abfragen mache ich am Wochenende, bin gerade nicht bei dem Gerät. Vielen Dank schon mal für...