Anzeige:
Ergebnis 1 bis 9 von 9

Thema: [QT & KDevelop] UI-File nachträglich ändern

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.03.2003
    Beiträge
    71

    [QT & KDevelop] UI-File nachträglich ändern

    Hallo,

    habe eines der Tutorials von der KDE-Seite durch und möchte nun ein bisschen mit KDE/QT rumspielen.
    Ich erstelle also eine Oberfläche mit dem qt-designer. Leite aus der UI-File eine Widget-Klasse ab. Soweit so gut, das klappt auch alles.
    Was ich jetzt allerdings nicht verstehe, wie ich nachträgliche Änderungen an der UI-Datei (Änderungen mit Designer durchgeführt) in die bereits abgeleitete Klasse bekomme, ohne dabei meine schon fertige Implementierung des Event-Handlings zu verlieren.

    Hier noch mal in Kürze:

    - UI-File mit Designer erstellt
    - in KDevelop aus UI-File eine widget-klasse abgeleitet
    - event-handling dieser Klasse implementiert
    - nachträglich was an der UI-File verändert
    - wie gelangen diese Änderungen in bereits fertige Klasse ohne bisherige Implementierung zu verlieren?

    Danke,
    Gruß,

    Ace

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    ich kenne mich mit kdevelop nicht aus, aber mal allgemein.

    Die UI-Files sind vollkommen unabhängig von deinem Code (oder sollten es zumindest sein). Du kannst also die UI-Datei jederzeit ändern wie du willst.
    Wenn du natürlich ein Element raus nimmst oder umbenennst, auf das du im Code zugreifst, dann mußt du den Code ändern. Fügst du ein Element hinzu (z.B. ein weiteren Button) Mußt du halt den Programmcode in deiner Klasse um diesen Button erweitern.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.03.2003
    Beiträge
    71
    Ja gut, dann wäre ja aber die ganze Erleichterung weg.
    Wieso sollte mir kdevelop beim ersten Einbinden der *.ui-File den Code komplett selbst generieren und bei einer nachträglichen Änderung der ui-File müsste ich diese Änderungen von Hand dazucoden. Das muss doch auch beim zweiten Mal automatisch funktionieren....hoffe ich jedenfalls

    Gruß,

    Ace

  4. #4
    Registrierter Benutzer
    Registriert seit
    24.03.2003
    Beiträge
    71
    Habe gerade mit einem KDE-Entwickler gesprochen und der meinte, dass man in der abgeleiteten Klasse des ui-files gar keinen Code schreibt, sondern davon wieder ne subklasse macht, in der man dann das event-handling und so unterbringt. Hm...mal schauen, falls dazu noch jemand genaueres sagen könnte, immer her damit

    Gruß,

    Ace

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.04.2003
    Beiträge
    43
    moin Ace

    anda_skoa hat das in seinem tutorial "QT Grundlagen"(hier im tutorial bereich) gut beschrieben. allerdings ist das momentan nicht erreichbar, musst netzmeister mal ne mail schicken, ob die noch vorhanden sind.


    Gruß HL

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    Zitat Zitat von AceTheFace
    Habe gerade mit einem KDE-Entwickler gesprochen und der meinte, dass man in der abgeleiteten Klasse des ui-files gar keinen Code schreibt, sondern davon wieder ne subklasse macht, in der man dann das event-handling und so unterbringt. Hm...mal schauen, falls dazu noch jemand genaueres sagen könnte, immer her damit
    Ach so, du schreibts direkt in den code, der von der UI Datei erzeugt wurde.
    Ich habe gedacht das du mit "Leite aus der UI-File eine Widget-Klasse ab." genau das meinst was dir der KDE-Entwickler gesagt hat.
    Wenn du direkt in den "UI-Code" schreibst ist das natürlich nicht so gut.

    Mal ein kleines Beipspiel:
    du hast eine hallobase.ui.
    Dann erstellst du eine hallo.h:
    Code:
    #include "hallobase.h"
    
    class Hallo : public HalloBase
    {
    ...
    }
    und mit der hallo.h und hallo.cpp arbeitest du dann und den code der aus der ui Datei beim kompilieren erstellt wird fasst du selber garnicht an.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von HangLoose
    anda_skoa hat das in seinem tutorial "QT Grundlagen"(hier im tutorial bereich) gut beschrieben. allerdings ist das momentan nicht erreichbar, musst netzmeister mal ne mail schicken, ob die noch vorhanden sind.
    Das ist schon noch vorhanden, nur im "Archiv". D.h. du musst die Nummer rausbrösmeln und dann in der Form http://www.mrunix.de/forums/archive/.../t-NUMMER.html verwenden. Also http://www.mrunix.de/forums/archive/...p/t-31182.html
    (Siehe auch da)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer
    Registriert seit
    02.04.2003
    Beiträge
    43
    ah, thx . gleich mal bookmarken.



    Gruß HL

  9. #9
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von cybercrow
    Ach so, du schreibts direkt in den code, der von der UI Datei erzeugt wurde.
    Wahrscheinlich den Hinweis
    ** WARNING! All changes made in this file will be lost!
    am Anfang der Datei für einen Scherzgehalten

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •