Anzeige:
Ergebnis 1 bis 11 von 11

Thema: QWorkspace ...

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70

    Question QWorkspace ...

    moin zusammen,

    ich erstelle mir gerade ein tool was eine MDI Hauptform hatt.
    Nun mein problem:

    alles so weit gut, programm funktioniert soweit, aber wenn ich eine 2 form aufrufe
    , macht er auch, aber ohne Rahmen:

    das steht in der hauptform:
    Code:
    UOIDWAIO::UOIDWAIO(QWidget* parent, const char* name, WFlags fl)
                    : UOIDWAIO_MainDlg(parent,name,fl)
    {
            ws = new QWorkspace(this);
            ws->setScrollBarsEnabled(true);
            setCentralWidget( ws );
            setWindowState(ws->windowState() ^ WindowMaximized);
    }
    und so ruffe ich die 2 form auf:
    Code:
    void UOIDWAIO::optionSettings()
    {
            UOIDWAIOSettings* uoidwaio_sett = new UOIDWAIOSettings( ws );
            uoidwaio_sett->show();
    }
    er öffnet zwar das 2 form aber ohne Rahmen.
    wie bekomme ich den rahmen wieder?

    Gruß
    ChMaster|LFreak
    Geändert von ChMaster|LFreak (20-02-2005 um 23:08 Uhr)

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    So vom Namen her würde ich schätzen dass Form 2 ein Dialog ist.
    In diesem Falle würde ich eher das Hauptfenster als Parent angeben, nicht den Workspace.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70

    Question

    stimmt die angegebene Form ist ein Dialog, und ich habe auch ein QWizard.
    wie mache ich das, die bsp in qt example geben mir keinen aufschluss auf diese
    methode, es ist zwar ein bsp mit MDI vorhanden aber ich werde nicht schlau daraus?

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Du brauchst nur das Hauptwidget der Anwendung als Parent angeben.

    Wenn du den Workspace nimmst, wird ein Workspace Widget draus, aber du willst einen Dialog der Applikation.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70

    Question

    sorry das ich mich erst jetzt wieder melde ... ;)
    Zitat Zitat von anda_skoa
    ... aber du willst einen Dialog der Applikation.
    nene, das Hauptfenster ist ein Dialog, ich habe es nur zum Workspace gemacht. ...
    wenn du mal zeit hast kannste dir mal die sourcen etwas genauer anschauen,
    sind schon im CVS:

    cvs -d:pserver:anonymous@cvs.uoidwaio.berlios.de:/cvsroot/uoidwaio login (kein pwd)
    cvs -z3 -d:pserver:anonymous@cvs.uoidwaio.berlios.de:/cvsroot/uoidwaio co uoidwaio

    das tool ist noch nicht komplett ..., es fehlt noch einiges an arbeit ...
    ich währe dir danke wenn du es dir anschauen könntest ... wegen dem Workspace problem

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von ChMaster|LFreak
    sorry das ich mich erst jetzt wieder melde ...

    nene, das Hauptfenster ist ein Dialog, ich habe es nur zum Workspace gemacht. ...
    Welche Klasse das Hauptfenster ist, ist nicht so wichtig, das Problem ist ja dass du den Workspace als Parent des neuen Dialoges angibts, nicht das Hauptfenster

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70
    ok ich weiss was du meinst, aber ich kann es nicht umsetzen in c++ (qt), entweder bin ich ... oder ich bin ...
    in vb .net ist es einfacher. nen skurielen vergleich

    Code:
    Private Sub mItemOptionShowGildenInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mItemOptionShowGildenInfo.Click
            Dim frmWindow As New frmWindow
            frmWindow.MdiParent = Me
            frmWindow.Show()
    End Sub
    mit Dim declariere ich frmWindow als neus frmWindow (genau gleich wie unter
    c++(qt)), aber in einer anderen schreib weise.

    Code:
    UOIDWAIOSettings* uoidwaio_sett = new UOIDWAIOSettings( ws );
    uoidwaio_sett->show();
    so wie ich es in qt gesehen habe giibt es kein vergleichbares zu MdiParent?
    das hauptfenster ist ein Workspace also ein MDI window, die sub funktion ruft
    das neue windows auf und macht es parent somit steht es im hauptfenster
    und nich ausserhalb oder hatt sonst welche mucken, es steht einfach da mit
    rahmen und macht seine aufgabe.

    der snipe stammt aus meinem anderen Programm (Windows - VB .Net)

    gruss
    ChMaster|LFreak
    Geändert von ChMaster|LFreak (10-03-2005 um 12:14 Uhr)

  8. #8
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von ChMaster|LFreak
    ok ich weiss was du meinst, aber ich kann es nicht umsetzen in c++ (qt), entweder bin ich ... oder ich bin ...
    in vb .net ist es einfacher. nen skurielen vergleich
    Ich versuche normalerweise ja die Hilfestellung so zu geben, dass ein Entwickler sein Problem damit selber lösen kann, aber ich denke hier muss ich ein bischen konkreter werden

    so wie ich es in qt gesehen habe giibt es kein vergleichbares zu MdiParent?
    QWidget:arentWidget()?
    Brauchst du hier aber nicht, siehe weiter unten

    das hauptfenster ist ein Workspace also ein MDI window
    Nein, ist es nicht.
    Der Workspace ist ein Kind des Hauptfensters UOIDWAIO

    Da die Methode, die den neuen Dialog erzeugt, eine Methode von UOIDWAIO ist, brauchst du den Parent eben nicht erst irgendwie zu ermitteln, da die aktuelle Instanz selbst der Toplevel Parent ist (das Hauptfenster)

    Also nicht wie bisher den Workspace ws als Parent des DialogsUOIDWAIOSettings an geben, sondern das Hauptfenster selbst, also "this"

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  9. #9
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70
    Ps.: habe ich vergessen zu erwähnen das der HauptDialog ein Mainwindow
    ist (also mit dem QtDesigner erstellt auch die menus), aber ich glaube das spielt
    keine rolle, oder doch?

    meinst du es so:

    UOIDWAIOSettings *uoidwaio_sett = new UOIDWAIOSettings( this );
    uoidwaio_sett->show();

    oder das haupt fenster?

    *sorry das ich nerv*
    Geändert von ChMaster|LFreak (10-03-2005 um 13:52 Uhr)

  10. #10
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von ChMaster|LFreak
    Ps.: habe ich vergessen zu erwähnen das der HauptDialog ein Mainwindow
    ist (also mit dem QtDesigner erstellt auch die menus), aber ich glaube das spielt
    keine rolle, oder doch?
    Nein, spielt keine Rolle

    meinst du es so:

    UOIDWAIOSettings *uoidwaio_sett = new UOIDWAIOSettings( this );
    uoidwaio_sett->show();
    Ja, genau

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  11. #11
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70
    jo es funzt ........

    gruss
    ChMaster|LFreak

Lesezeichen

Berechtigungen

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