From 227b589a070643b639a99bf9e390b184d95be1a9 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 20 Jul 2023 15:04:17 +0900 Subject: Replace Q_OBJECT with TQ_OBJECT Signed-off-by: Michele Calgaro (cherry picked from commit 6fd26e813877361aed526a18da8c0e1f16eb7f00) --- tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook') diff --git a/tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook b/tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook index 05abb50cc00..323a428a805 100644 --- a/tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook +++ b/tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook @@ -229,7 +229,7 @@ return a.exec(); Interaktion mellem objekt med signaler og slots Nu kommer vi til den mest åbenbare fordel ved QT-værktøjskassen: signal/slot-mekanismen. Den tilbyder en meget bekvem og nyttig løsning for kommunikation mellem objekter, som sædvanligvis løses med tilbagekaldsfunktioner i X-windows værktøjskasser. Eftersom kommunikationen kræver strikt programmering og ind imellem gør det meget svært at oprette brugergrænseflader (som beskrevet i QT-dokumentationen og forklaret i Programming with Qt af K. Dalheimer), opfandt TrollTech et nyt system hvor objekter kan sende signaler som kan forbindes til metoder som deklareres som slots. Som programmør af C++, behøver man kun at vide nogen ting om denne mekanisme: -klassedeklarationen af en klasse som bruger signaler og slots skal indeholde makroen Q_OBJECT i begyndelsen (uden et semikolon), og skal afledes fra klassen QObject +klassedeklarationen af en klasse som bruger signaler og slots skal indeholde makroen TQ_OBJECT i begyndelsen (uden et semikolon), og skal afledes fra klassen QObject et signal kan sendes med nøgleordet emit, f.eks. emit signal(parametre);, inde i en hvilken som helst medlemsfunktion i en klasse som tillader brug af signaler og slots alle signaler som bruges af klasser som ikke arves skal tilføjes i klassedeklarationen i en signalsektion @@ -471,7 +471,7 @@ return a.exec(); Som du kan se, har vi puttet linjenumre foran hver linje som ikke vises i udskriften, men som gør det nemmere at beskrive hvad der sker under bygningen. For det første virker byggeprogrammet rekursivt. Det betyder at det begynder i mappen hvor det startes, først går ned i undermapper, en af gangen, og derefter går tilbage til mappen hvor det startedes, behandler den, og derefter afslutter. Den første interessante linje er 24. Bemærk at g++, som er vores C++ oversætter, kaldes af make på denne linje for at kompilere den første kildekodefilen i vores projekt - i dette tilfælde main.cpp. Mange yderligere kommandolinjeflag bruges også med g++ oversætteren. Visse er standard, mens andre kan indstilles via &tdevelop;. -Inden næste fil (kscribble.cpp, linje 29) kompileres, køres først moc (metaobjektoversætteren) for kscribble.h (linje 25). Det sker fordi KScribble-klasser bruger signaler og slots, så makroen Q_OBJECT skal ekspanderes, og moc gør det for os. Resultatfilen, kscribble.moc, bruges af kscribble.cpp via udsagnet #include i filen. +Inden næste fil (kscribble.cpp, linje 29) kompileres, køres først moc (metaobjektoversætteren) for kscribble.h (linje 25). Det sker fordi KScribble-klasser bruger signaler og slots, så makroen TQ_OBJECT skal ekspanderes, og moc gør det for os. Resultatfilen, kscribble.moc, bruges af kscribble.cpp via udsagnet #include i filen. -- cgit v1.2.1