Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 27 von 27

Thema: Dynamische Schriften etc...

  1. #16
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    hehe...das habe ich mir gedacht...man sollte ab halb drei nachts nichts mehr posten

    Vielleicht ist es besser so:

    die main:

    Code:
    int main( int argc, char* argv[] ) 
    {        
    	QApplication app( argc, argv );
    	MainWindow mw;
      
    	app.setMainWidget( &mw );
    	mw.show();
    
    	int ret = app.exec();
    	return ret;
    }
    meine MainWindow.cpp die aus der Main aufgerufen wird (natürlich nur das wichtige):

    Code:
    MainWindow::MainWindow( QWidget* parent, const char* name, bool modal, WFlags fl )
        : QDialog( parent, name, modal, fl )
    {
     // hier kommen die widgets....
    
    // am ende des konstruktors also hier kommt der Aufruf der KLasse  
    // mainwindow_use die eben die MainWindow (MainWindowBase)nutzt....
    // ebenfalls wird nodeMovement_Base aufgerufen die eine ToolBox-page von
    // Mainwindow ausbaut...(ich wollte eben das in einer eigenen Klasse)
    
        MainWindow_use* mw = new MainWindow_use(this);
        NodeMovement_Base* nm = new NodeMovement_Base(this);
    }
    Die header datei von mainwindow :

    Code:
    class MainWindow : public QDialog
    {
        Q_OBJECT
    
    public:
        MainWindow( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
    
    ...
    }
    und dann noch die nodeMovement_Base.cpp:

    Code:
    NodeMovement_Base::NodeMovement_Base(MainWindow* mw) : QObject(0, "MainWindow"), m_mw(mw)
    {
    ...
    //hier kommen die widgets
    
    //hier wird dann im konstruktor 
    // wider die nodeMovement_Use aufgerufen die die GUI der page 
    // nutzt also die funktionalität ausbaut.
    
    }
    die header datei von nodeMovement_base.h

    Code:
    class NodeMovement_Base : public QObject
    {
        Q_OBJECT
    
    public:
        NodeMovement_Base( MainWindow* mw);
        ~NodeMovement_Base();
        
        MainWindow* m_mw;
    ...
    }
    Kannst du damit was anfangen anda?
    Wenn nicht kann ich dir den ganzen salat dann mal zukommen lassen...

  2. #17
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Am besten du machst ein Archiv der Sourcen und hängst das an.

    Soweit ich bisher sehen ein bischen eigenwilliges Design, aber nicht unmöglich.

    Einfacher ist es die Widgets im Designer zu erzeugen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #18
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    im Anhang die srcen... ich hoffe sie sind verständlicher Danke schon mal im vorauswas ich eigentlich will ist folgendes:ichhabe eine ToolBox mit ca. 7 pages. Da in jeder page ziemlich viele widgets sind wollte ich für jede page eine eigene Base class die nur die GUI baut und desweiteren für jede page eine eigene Use class die die eigentliche Funktionalität ausbaut. Nun würde ich weiter gerne wissen ob das so realisierbar sinnvoll ist. Ob ich dann aus jeder beliebigen use class auf andere base classen zugreifen kann etc...

    vielleicht kannst du mir noch helfen anda...
    falls du die Gui laufen lässt....in der node_movement page der toolBox weiß ich absolut nicht wie ich jetzt die tabellen so verkleinere dass sie komplett mit dem fram nur bis zum toolBox - Rand ragen und nicht darüber hinaus...so sind die unschönen scrollbars immer vorhanden.....weißt du wie ich dieses Problem lösen kann...? Mit dem designer habe ich es immer mehr verkleinert aber in der GUI bleibt es immer so.....?!?
    Geändert von Mat (29-11-2005 um 23:59 Uhr)

  4. #19
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Uiui!

    Wenn ich da im ersten Versuch richtig sehe, ist dein Hauptwidget eine QToolBox und deren Items die eigentliche GUI.

    Ich würde jedes Item als ein eigenes Widget im Designer erstellen, davon ableiten und alles internen Funktionalitäten des Items in der Subklasse implementieren.

    Das Hauptwidget wäre dann etwa so

    Code:
    class MainWindow : public QToolBox
    {
        Q_OBJECT
    public:
        MainWindow();
    };
    Code:
    MainWindow::MainWindow() : QToolBox(0, "MainWindow")
    {
        addItem(new ItemClass1(this));
        addItem(new ItemClass2(this));
    
        // bzw, wenn du später zugriff auf die genauen APIs der Items brauchst
        m_item1 = new ItemClass1(this);
        addItem(m_item1);
    }
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #20
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    das ist natürlich noch schöner ) bloß irgendwie krieg ich es nicht hin nur die rohe toolbox als einzelnes darstellen zu lassen.... könnntest du mir da auf die sprünge helfen anda ? Also ich rufe aus der main den konstruktor auf der eben: MainWindow() : QToolBox(0, "Mainwindow") ist und im header: class MainWindow : public QToolBox aber so scheint es nicht zu gehen ....*grmpf

    Ich weiß nicht wie ich die Konstruktoren der Items aussehen müssen also was die für Parameter bekommen und von was die erben müssen?
    Geändert von Mat (01-12-2005 um 22:57 Uhr)

  6. #21
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Die Toolbox ist ein normales Widget, sollte also schon angezeigt werden

    Falls sie noch leer ist, mußt du vielleicht eine Größe setzen

    Code:
    int main(int argc, char** argv)
    {
        QApplication app(argc, argv);
    
        MainWindow w;
        w.resize(400, 600);
    
        app.setMainWindow(&w);
        w.show();
    
        return app.exec();
    }
    Die Items sind deine Form Subklassen, leiten also von der jeweiligen Base Klasse ab, die UIC generiert hat.
    Als Konstruktor nimmst am erst einmal einen Standard QWidget Konstruktor, also einen QWidget* parent Parameter und einen const char* name Parameter

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #22
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    ok danke .... jetzt gehts... das heißt die klassen die die base klassen um die funktionalität erweitern..wo rufe ich die denn auf ? in der klasse wo ich addItem(page) sage ? wie kann ich den sinnvoll die use klassen aufrufen....weil ich würde die schon gerne so implementieren die funktionalitäten... also über den heap muss ich das dann wohl machen oder ?

    EDIT: Kann ich das überhaupt?
    Ich habe nun die MainWindow_use die erbt die MainWindow_Base sozusagen. MainWindow_Base baut mir die erste page der Toolbox aus was funktioniert.
    Aber wie kann ich nun die MainWindow_Use aufrufen. Ich kann ja jetzt nicht in der Mainwindow_Base den Konstruktor von MainWindow_Use aufrufen ... weil die ja vererbt wird ...
    Geändert von Mat (02-12-2005 um 20:00 Uhr)

  8. #23
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ich hab mal ein Beispiel gemacht wie ich mir das vorstelle

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  9. #24
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    vielen dank anda....jetzt verstehe ich auch was du meinst....*frag mich immer nur warum mir das nicht einfällt so..*grmpf...

    naja...aber ganz schaffe ich es noch nicht zum laufen zu bringen dein beispiel..
    er meckert wegen undefined reference table. also ich kompiliere die .ui mit uic zu den gesuchten header dateien....aber muss ich die .ui dateien irgendwie einbinden ?

  10. #25
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    #> qmake multiwidget.pro
    #> make
    #> ./multiwidget

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  11. #26
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Vielen lieben dank Anda....habe enorm dazu gelernt....jetzt mach ich mich mal daran mein ganzes programm umzudesignen ....

  12. #27
    Registrierter Benutzer Avatar von microdigi
    Registriert seit
    13.07.2002
    Ort
    Bad Soden-Salmuenster
    Beiträge
    104

    @anda_skoa

    Mein lieber Mann, Fräulein, watt kannse gut tanzen.
    So sagt man im Ruhrgebiet.
    Also Du hast ja eine Engelsgeduld.
    Ich sag auch nochmal danke für diesen Thread.
    Aloha - digi
    Rentner66 (als Nebenberuf)
    'Fossil' der ersten IT-Stunde, weltweit manches 'ausgefressen'
    0173 1047 047
    Intel P4(686)-2,53 GHz, 1GB, 2x80 GB, 2xNW, Sound, CD-RW, DVD-DL-RW, ATI Radeon 9000,
    LINUX (SuSE-9.3-Prof -- KDEvelop-QT-Professional),
    after ten years m$ VS97: C++ & MFC > NO windows anymore! NEVER-EVER! :eek: ...
    e-commerce networker

Lesezeichen

Berechtigungen

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