Signals und Slots in QT4

GoaSkin - Dienstag, 12. Juni 2007 17:57:56 - 0 Antworten

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?

Antworten

Ähnliche Artikel

  • Fortgeschrittenes Basteln
    Plasmoiden erweitern den KDE-4-Desktop um sinnvolle Anwendungen. KDE-Entwickler Sebastian Kügler erklärt, wie Sie die kleinen Helfer programmieren.
  • 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.
  • 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.
  • Adventskalender mit C++ und Qt
    Es müssen nicht immer Schokoladefigürchen sein: Ein Bilderadventskalender lässt sich auch als GUI-Programm gestalten und eignet sich hervorragend zum Einstieg in die C++-Programmierung.

Aktuelle Fragen

Probleme mit der Maus
Thomas Roch, 21.02.2017 13:43, 1 Antworten
Nach 20 Jahren Windows habe ich mich zu Linux Ubuntu probeweise durchgerungen!!! Installation - k...
KWin stürzt ab seit Suse Leap 42.2
Wimpy *, 21.02.2017 09:47, 4 Antworten
OpenSuse 42.2 KDE 5.8.3 Framework 5.26.0 QT 5.6.1 Kernel 4.4.46-11-default 64-bit Open-GL 2....
Shell-Befehl zur Installation von Scanner-Treiber
Achim Zerrer, 15.02.2017 12:13, 10 Antworten
Hallo, ich habe Einen Brother Drucker mit Scanner. Nachdem ich mit Hilfe der Community den Druck...
kiwix öffnet ZIM Datei nicht
Adrian Meyer, 13.02.2017 18:23, 1 Antworten
Hi, ich nutze Zim Desktop für mein privates Wiki. Fürs Handy habe ich mir kiwix heruntergelade...
registration
Brain Stuff, 10.02.2017 16:39, 1 Antworten
Hallo, Das Capatcha auf der Registrierungsseite von linux-community ist derartig schlecht gema...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Installation von Mint 18.1 geht nicht
Rainer, 26.02.2017 18:50
Hallo Gerhard, Am Sun, 26 Feb 2017 16:51:07 +0100 schrieb "Gerhard Eilers" : > > Die D...
Re: [EasyLinux-Ubuntu] Installation von Mint 18.1 geht nicht
Gerhard Eilers, 26.02.2017 16:51
Hallo Rainer Die DVD für Linux Mint 18.1 habe ich vom linuxmint.com, dort aus dem Downloadbereich herunter...
Re: [EasyLinux-Ubuntu] Installation von Mint 18.1 geht nicht
Rainer, 26.02.2017 14:03
Hallo Gerhard, mir scheint, dass bei Dir schon im ersten Ansatz irgendetwas falsch läuft. Am Sun, 26 Feb...
Re: [EasyLinux-Ubuntu] Installation von Mint 18.1 geht nicht
Gerhard Eilers, 26.02.2017 10:51
Hallo Alfred, Mathias und alle sonst noch Installiert ist im Moment Windows 8.1 Home. Mit Laufwerk C: und Lau...
Re: [EasyLinux-Ubuntu] Claws_Mail:_Speichern_von_Anhängen
Rainer, 26.02.2017 10:44
Hallo Roman, Am Sun, 26 Feb 2017 10:09:56 +0100 schrieb Roman Brusa : > Hi, Rainer schrieb am Sun, 26...