[gelöst] markierung der maus bekommen

Alles rund um die Programmierung mit Qt
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Wie bekomme ich aber das Signal dataChange von QClipboard wenn ich von QClipboard nicht ableiten darf?
Debian 2.4.27-1-386
[...]peace, love and empathy
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Hä?

connect( QClipboard, SIGNAL( dataChanged() ), this, SLOT( slotMeUp() ) );
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Code: Alles auswählen

class MyClass : public QObject
{
 public slots:
   void slotMeUp()
   {

   }

 public:
   MyClass()
   :QObject(0,0)
   {
      connect( QClipboard, SIGNAL( dataChanged() ), this, SLOT( slotMeUp() ) );     
   }
};
main.cpp: In constructor `MyClass::MyClass()':
main.cpp:44: error: Fehler beim Parsen before `;' token

Ichhoffe es ist so annähernd richtig was ich da treibe :roll:
Debian 2.4.27-1-386
[...]peace, love and empathy
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Es ist natürlich immer einfach etwas zu übernehmen, aber gebracht hat dir das ja so gar nix.

QClipboard musst du durch dein Qclipboard ersetzen und den slotMeUp() musst du anlegen und deinem Namen verteilen.

Du solltest vielleicht einmal das ein oder andere Beispiel durchmachen, damit du Qt verstehst. Ich empfehle die generellen Qt Beispiele, die dabei sind.
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

und den slotMeUp() musst du anlegen und deinem Namen verteilen.
Wie meinst du das mit verteilen?

PS: Ich arbeite die ganze Zeit nebenbei Beispiele durch
Debian 2.4.27-1-386
[...]peace, love and empathy
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Du brauchst einen Slot der so heißt, wie du meinst, z.B. slotMeinSlot() oder wasAuchImmer()

Den musst du da einsetzen. Dann eben den Slot als public oder protected oder private slot definieren und mit einer Funktion belegen.
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Code: Alles auswählen

class MyClass : public QObject
{
 public slots:
   void slotMeUp()
   {
          qDebug("lol");
   }

 public:
   MyClass()
   :QObject(0,0)
   {}  
};
....
QObject::connect( cb, SIGNAL( dataChanged() ), &my, SLOT(slotMeUp()));
QObject::connect: No such slot QObject::slotMeUp()
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')

Hmm?
Debian 2.4.27-1-386
[...]peace, love and empathy
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ich finde das doof, immer deine Fehler ausbessern.

Du musst den Slot definieren und mit einer Funktion füllen. Nach dem Post hättest auch einfach sagen können gib mit dem vollständigen Code für das und das Problem.

Versuche doch wenigstens ein wenig nach zu denken.
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Ja aber tu ich das nicht bereits mit

Code: Alles auswählen

 public slots: 
    void slotMeUp() 
    { 
           qDebug("lol"); 
    } 
?
Debian 2.4.27-1-386
[...]peace, love and empathy
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Du musst Q_OBJECT definieren.
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Habs jetzt hinbekommen. Danke für deine schnelle Hilfe und Geduld.
Debian 2.4.27-1-386
[...]peace, love and empathy
Antworten