Seite 1 von 1

Anfänger -> Startschwierigkeiten2

Verfasst: 26. März 2006 19:57
von sunnyromeo
Hallo zusammen,

bei meiner letzten Frage wurde mir super schnell und gut geholfen, vielen Dank nochmal.

eine weitere Frage die ich noch habe ist:
In der Referenz von QT findet man bei den Classes unter anderem den Punkt:

Access funktions:
- SegmentStyle segmentStyle () const
- void setSegmentStyle (SegmentStyle)

-bool smallDecimalPoint () const
-void setSmallDecimalPoint (bool)

-double value () const
-void display (const QString & s)
-void display (int num)

etc....

Was bedeutet dabei das void, const, int, num, QString?
Es wäre klasse wenn mir jemand etwas Starthilfe geben könnte, das wäre wirklich nett.

Verfasst: 26. März 2006 20:07
von upsala
Was bedeutet dabei das void, const, int, num, QString?
Es wäre klasse wenn mir jemand etwas Starthilfe geben könnte, das wäre wirklich nett.
Das bedeutet, daß du dir unbedingt die Grundlagen von C++ aneignen möchtest. Empfehlenswert ist in diesem Falle die 'Bibel'. Ob sie für dich geeignet ist kann ich aber nicht beurteilen.

Verfasst: 26. März 2006 20:10
von sunnyromeo
Das kann ich gerne machen. Danke für den Tipp, denn ich finde es sehr schwer an kostenlose Informationen, die sich damit beschäftigen, zu kommen, bzw. ich habe nicht nach dem richtigen gesucht.

Verfasst: 26. März 2006 20:13
von Spielgrips
Es gibt schon Bücher über C++ die nicht viel kosten müssen ;)! Ich hab mal ein Buch über C++ bestellt das hat nicht mal 10¤ gekostet. Nagut trotzdem habsch C++ Stroustrop Bibel :D!!!

Verfasst: 26. März 2006 20:17
von sunnyromeo
Ja, ich meine was die Abkürzungen heißen bzw. bedeuten konnte ich mir schon vorstellen, es ist ja bei MySQL dasselbe.
Allerdings die "Grammatik" von C++ oder QT kenne ich noch überhaupt nicht und um heraus zu finden wie die einzelnen Funktionen bzw. Klassen zu verwenden sind muß man ja verstehen woraus sie sich zusammensetzen.

P.S.

könnt ihr mir ein ganz kurzes Beispiel für ein Programm geben das folgendes macht:

Eine QLCDNumber anzeige zeigt beim Start den Wert 0 und ein QPushButton lässt sie beim drücken den Wert "1" anzeigen.
Das müsste doch gehen, ich weiß nur nicht, wie man so etwas macht, benutzt man dazu diese connect(knopfname, SIGNAL(clicked()),LCDname,SLOT(changeValue()));
funktion oder wie macht man so etwas?

Verfasst: 26. März 2006 20:18
von Spielgrips
Was bedeutet dabei das void, const, int, num, QString?
Void steht für leer, wird eher im Funktionsparameterraum (geiler Name) und als Datentyp benutzt, wenn man z.b. keine Parameter brauch oder kein Return drin hat, kann man eben das dort hinschreiben oder als Datentyp benutzen!

int = steht für Ganzzahlen (Datentypen int, char, bool, string usw)
num = ist eine Variable !
QString = ist eine abgeleitete Klasse zu normalen String Klasse ! Hat eben mehr Möglichkeiten...
const = man kann damit auch Konstanten definieren bei ANSI C, aber wenn das bei einer Funktion steht, dann heißt das dieser Funktionsraum keine Werte verändert, wie in diesem Beispiel gibt er nur einen Wert wieder!

Verfasst: 26. März 2006 20:22
von sunnyromeo
Vielen Dank Spielgrips, das ist echt nett von dir das du dir so viel Zeit dafür nimmst.
P.S.

könnt ihr mir ein ganz kurzes Beispiel für ein Programm geben das folgendes macht:

Eine QLCDNumber anzeige zeigt beim Start den Wert 0 und ein QPushButton lässt sie beim drücken den Wert "1" anzeigen.
Das müsste doch gehen, ich weiß nur nicht, wie man so etwas macht, benutzt man dazu diese connect(knopfname, SIGNAL(clicked()),LCDname,SLOT(changeValue()));
funktion oder wie macht man so etwas?

Verfasst: 26. März 2006 21:00
von Spielgrips
Jupp habsch:

lcd.cpp

Code: Alles auswählen

/* Applikation mit LCDDisplay 
 * und Button
 *
 */ 
 
 #include <QApplication>
 #include <QPushButton>
 #include <QLCDNumber>
 #include <QWidget>
 #include <QObject>

 #include "lcd_core.h"
 
 int main(int argc, char* argv[])
 {
     
     QApplication my_lcd_programm(argc, argv);
     
     // erstelle unser Fenster
     
     window* my_window = new window();                     // erstelle einen Pointer
     my_window->setGeometry(50, 50, 300, 200);             // setze geometrische Daten
     my_window->setWindowTitle("LCDDisplay und Button");   // setze Fenstertitel
     my_window->show();                                    // zeige an
     
     //
     
     return my_lcd_programm.exec();
     
 }
lcd_core.h

Code: Alles auswählen


 /* Applikation mit LCDDisplay 
 * und Button
 *
 */ 
 
 #ifndef LCD_H
 #define LCD_H
 
 #include <QPushButton>
 #include <QLCDNumber>
 #include <QWidget>
 
 #include <QObject>
 
 class window : public QWidget
 {
       
       Q_OBJECT
       
    public:
           
           QLCDNumber*  my_lcd;
           QPushButton* my_button;
           
           window()
           {
                  
                   // erstelle unser LCD Display
     
                   this->my_lcd = new QLCDNumber(this);            // erstelle wieder ein Pointer
                   this->my_lcd->setGeometry(5, 5, 151, 71);       // setze geometrische Daten
                   this->my_lcd->display(0);                       // display(int num) setze Wert
                   this->my_lcd->show();                           // zeige an
     
                  //    
                  
                  this->my_button = new QPushButton(this);         // erstelle noch einen Pointer
                  this->my_button->setText("Setze Wert1");         // setze Button Texr
                  this->my_button->setGeometry(5, 100, 75, 24);    // setze geometrische Daten
                  this->my_button->show();                         // zeige es an
                  
                  connect(this->my_button, SIGNAL(clicked()), this, SLOT(setStepZero()));
                   
                  /* Weil wir ja jetzt die Klasse mit QWidget abgeleitet
                   * haben, können wir connect() ganz frei in unsere
                   * Klasse benutzen!
                   */
                   
           }
    
    private slots:
            void setStepZero()
            {
                 
                 this->my_lcd->display(1);
                 
                 // Wie am Anfang haben wir mit dieser display() Methode das
                 // Display auf Null gestellt und damit kann man es auch
                 // wieder auf 1 stellen!
                 
            }   
       
 };
 
 #endif
Einfach per:

Code: Alles auswählen

qmake -project
qmake
make
Das kompilieren und haste deine Anwendung mit einen LCD Display und Button ;)!

Verfasst: 27. März 2006 08:12
von sunnyromeo
Nochmal vielen Dank an dich Spielgrips, es ist doch komplizierter als ich erwartet hatte so etwas zu machen, ich werde mir mal unbedingt anschauen müssen was eine "Klasse" ist und was ein "Pointer" ist...

Verfasst: 27. März 2006 14:44
von Spielgrips
>> ICQ 128610107

Wenn du an C++ Programmierung interessiert bist, komm und lerne von uns :)!

Verfasst: 27. März 2006 14:51
von fussel
sunnyromeo hat geschrieben:Das kann ich gerne machen. Danke für den Tipp, denn ich finde es sehr schwer an kostenlose Informationen, die sich damit beschäftigen, zu kommen, bzw. ich habe nicht nach dem richtigen gesucht.
Es gibt auch c++ Bücher im Internet.
z.B.
http://www.cpp-entwicklung.de/cpplinux3 ... _main.html

Verfasst: 27. März 2006 18:24
von Spielgrips
Ich würd dir och das noch raten:

http://www.galileocomputing.de/openbook ... /index.htm
Das Openbook C von A - Z, da haste wenigsten alles dabei waste brauchst!

Verfasst: 28. März 2006 08:06
von sunnyromeo
Vielen Dank nochmal allen die mir bisher geholfen haben.
Ist das programmieren in Linux dabei übertragbar für Programmierung unter Windows?

Verfasst: 28. März 2006 14:26
von Spielgrips
C++ ist überall, nur welche GUI du nimmst, ist entscheidend, QT ist eben für beide Betriebsysteme..