summaryrefslogtreecommitdiffstats
path: root/tde-i18n-da/docs/tdevelop
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2023-10-13 18:02:18 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2023-10-13 18:02:18 +0900
commit241e0082f7b9ccadaeed0ef43a1c9ebb9b4fe840 (patch)
tree327c08329d5c5910cc155d3982f2a481eeaf5307 /tde-i18n-da/docs/tdevelop
parent1ae0d186c941b1e1cdaae488038195ba86d89dbb (diff)
downloadtde-i18n-241e0082f7b9ccadaeed0ef43a1c9ebb9b4fe840.tar.gz
tde-i18n-241e0082f7b9ccadaeed0ef43a1c9ebb9b4fe840.zip
Replace QObject, QWidget, QImage, QPair, QRgb, QColor, QChar, QString, QIODevice with TQ* version
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'tde-i18n-da/docs/tdevelop')
-rw-r--r--tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook44
-rw-r--r--tde-i18n-da/docs/tdevelop/kdearch/index.docbook46
2 files changed, 45 insertions, 45 deletions
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 323a428a805..47ae77a6a71 100644
--- a/tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook
+++ b/tde-i18n-da/docs/tdevelop/kde_app_devel/index.docbook
@@ -160,15 +160,15 @@ return a.exec();
</orderedlist>
</para>
<para>Det andet objekt i vort program er trykknappen, en instans af klassen <classname>QPushButton</classname>. Af de to konstruktorer der er til at oprette klassen, bruger vi den anden. Den tager en tekst, som er tekstindholdet i knappen. Her er det strengen "Hello world!". Derefter kalder vi metoden <methodname>resize()</methodname> for at ændre størrelse på knappen ifølge dens indhold. Knappen skal være større for at gøre strengen fuldstændigt synlig. </para>
-<para>Men hvad gælder for metoden <methodname>show()</methodname>? Nu mærker du, at som de fleste andre grafiske komponenter, er <classname>QPushButton</classname> baseret på enkelt arv. Dokumentationen siger, Arver <classname>QButton</classname>. Følg linket til klassen <classname>QButton</classname>. Det viser mange andre kontroller som arves af <classname>QPushButton</classname>, som vi senere bruger til at forklare signal/slot-mekanismen. Under alle omstændigheder er metoden <methodname>show()</methodname> ikke på listen, og derfor skal den være en metode som også sørges for via arv. Klassen som <classname>QButton</classname> arver er <classname>QWidget</classname>. Følg kun linket igen, så ser du en hel mængde metoder som klassen QWidget sørger for, inklusive metoden <methodname>show()</methodname>. Nu forstår vi hvad der blev gjort i eksemplet med knappen: <orderedlist>
+<para>Men hvad gælder for metoden <methodname>show()</methodname>? Nu mærker du, at som de fleste andre grafiske komponenter, er <classname>QPushButton</classname> baseret på enkelt arv. Dokumentationen siger, Arver <classname>QButton</classname>. Følg linket til klassen <classname>QButton</classname>. Det viser mange andre kontroller som arves af <classname>QPushButton</classname>, som vi senere bruger til at forklare signal/slot-mekanismen. Under alle omstændigheder er metoden <methodname>show()</methodname> ikke på listen, og derfor skal den være en metode som også sørges for via arv. Klassen som <classname>QButton</classname> arver er <classname>TQWidget</classname>. Følg kun linket igen, så ser du en hel mængde metoder som klassen TQWidget sørger for, inklusive metoden <methodname>show()</methodname>. Nu forstår vi hvad der blev gjort i eksemplet med knappen: <orderedlist>
<listitem><para>Lav en instans af <classname>QPushButton</classname>, og brug den anden konstruktor til at angive knappens tekst</para></listitem>
<listitem><para>Ændr størrelsen på kontrollen til dens indhold</para></listitem>
<listitem><para>Sæt kontrollen som hovedkontrol instansen af <classname>QApplication</classname></para></listitem>
-<listitem><para>Fortæl den grafiske kontrol at den skal vises på skærmen ved at kalde <methodname>show()</methodname>, en metode som blev arvet fra <classname>QWidget</classname></para></listitem>
+<listitem><para>Fortæl den grafiske kontrol at den skal vises på skærmen ved at kalde <methodname>show()</methodname>, en metode som blev arvet fra <classname>TQWidget</classname></para></listitem>
</orderedlist>
</para>
<para>Efter at have kaldet metoden <methodname>exec()</methodname>, er programmet synligt for brugeren, og viser et vindue med knappen "Hello world!". Bemærk at programmer med grafiske grænseflader opfører sig noget anderledes sammenlignet med procedurebaserede program. Det vigtigste er at programmet går ind i en såkaldt "hovedbegivenhedsløkke". Det betyder at programmet skal vente på brugerens handlinger og derefter reagere på dem. Det betyder også, for et QT-program, at programmet skal være i hovedbegivenhedsløkken for at starte begivenhedshåndteringen. Næste afsnit beskriver kortfattet hvad det betyder for programmøren og hvad QT tilbyder for at håndtere begivenheder. </para>
-<note><para>For brugere som allerede er avancerede: Knappen har ingen overliggende kontrol deklareret i konstruktoren. Derfor er den en topniveaukontrol og kører med en lokal begivenhedsløkke som ikke behøver at vente på hovedbegivenhedsløkken. Se dokumentationen for klassen QWidget og KDE's biblioteksreferenceguide.</para>
+<note><para>For brugere som allerede er avancerede: Knappen har ingen overliggende kontrol deklareret i konstruktoren. Derfor er den en topniveaukontrol og kører med en lokal begivenhedsløkke som ikke behøver at vente på hovedbegivenhedsløkken. Se dokumentationen for klassen TQWidget og KDE's biblioteksreferenceguide.</para>
</note>
</sect3>
@@ -183,7 +183,7 @@ return a.exec();
</itemizedlist>
</para>
<para>Nu fortsætter vi med at give programmet "liv" ved at behandle brugerbegivenheder. I almindelighed har brugeren to måder at kommunikere med et program: musen og tastaturet. En grafisk brugergrænseflade skal sørge for metoder for begge måder, som detekterer handlinger og gør noget som reaktion på handlingerne. </para>
-<para>Vinduesystemet sender derfor alle kommunikationsbegivenheder til det tilsvarende program. <classname>QApplication</classname> sender dem derefter til det aktive vindue som en <classname>QEvent</classname>, og kontrollerne selv skal bestemme hvad som skal udføres med dem. En kontrol tager imod begivenheden og behandler <methodname>QWidget::event(QEvent*)</methodname>, som afgør hvilken begivenhed der er sket og hvordan reaktionen skal være. Metoden <methodname>event()</methodname> udfører derfor håndteringen af hovedbegivenheden. Derefter sender metoden <methodname>event()</methodname> begivenheden til et såkaldt begivenhedfilter som afgør hvad der sker og hvad der skal udføres med begivenheden. Hvis intet filter signalerer at det er ansvarligt for begivenheden, kaldes speciel begivenhedshåndtering. På den måde kan vi skelne mellem: <itemizedlist>
+<para>Vinduesystemet sender derfor alle kommunikationsbegivenheder til det tilsvarende program. <classname>QApplication</classname> sender dem derefter til det aktive vindue som en <classname>QEvent</classname>, og kontrollerne selv skal bestemme hvad som skal udføres med dem. En kontrol tager imod begivenheden og behandler <methodname>TQWidget::event(QEvent*)</methodname>, som afgør hvilken begivenhed der er sket og hvordan reaktionen skal være. Metoden <methodname>event()</methodname> udfører derfor håndteringen af hovedbegivenheden. Derefter sender metoden <methodname>event()</methodname> begivenheden til et såkaldt begivenhedfilter som afgør hvad der sker og hvad der skal udføres med begivenheden. Hvis intet filter signalerer at det er ansvarligt for begivenheden, kaldes speciel begivenhedshåndtering. På den måde kan vi skelne mellem: <itemizedlist>
<listitem><para>Tastaturbegivenheder: Tabulator og Shift+Tabulator:</para>
<itemizedlist>
<listitem><para><methodname>virtual void focusInEvent(QFocusEvent *)</methodname></para></listitem>
@@ -224,12 +224,12 @@ return a.exec();
</itemizedlist>
</para>
-<para>Bemærk at alle begivenhedsfunktioner er virtuelle og protected. Derfor kan du implementere begivenhederne som du behøver i egne kontroller og angive hvordan din kontrol skal reagere. <classname>QWidget</classname> indeholder også nogle andre virtuelle metoder som kan være nyttige i dine programmer. Under alle omstændigheder er det nødvendigt at kende <classname>QWidget</classname> godt. </para>
+<para>Bemærk at alle begivenhedsfunktioner er virtuelle og protected. Derfor kan du implementere begivenhederne som du behøver i egne kontroller og angive hvordan din kontrol skal reagere. <classname>TQWidget</classname> indeholder også nogle andre virtuelle metoder som kan være nyttige i dine programmer. Under alle omstændigheder er det nødvendigt at kende <classname>TQWidget</classname> godt. </para>
</sect2>
<sect2 id="c1s2s4">
<title>Interaktion mellem objekt med signaler og slots</title>
<para>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: <itemizedlist>
-<listitem><para>klassedeklarationen af en klasse som bruger signaler og slots skal indeholde makroen TQ_OBJECT i begyndelsen (uden et semikolon), og skal afledes fra klassen <classname>QObject</classname> </para></listitem>
+<listitem><para>klassedeklarationen af en klasse som bruger signaler og slots skal indeholde makroen TQ_OBJECT i begyndelsen (uden et semikolon), og skal afledes fra klassen <classname>TQObject</classname> </para></listitem>
<listitem><para>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 </para></listitem>
<listitem><para>alle signaler som bruges af klasser som ikke arves skal tilføjes i klassedeklarationen i en signalsektion </para></listitem>
@@ -237,9 +237,9 @@ return a.exec();
<listitem><para>metaobjektoversætteren moc skal køres over deklarationsfilen for at ekspandere makroer og oprette implementeringen (som man ikke behøver kende til). Uddatafilerne fra moc kompileres også af C++ oversætteren. </para></listitem>
</itemizedlist>
</para>
-<para>En anden måde at bruge signaler uden at aflede fra <classname>QObject</classname> er at bruge klassen <classname>QSignal</classname>. Se referencedokumentationen for mere information og eksempel på brug. Vi antager at du afleder fra <classname>QObject</classname> i det følgende. </para>
+<para>En anden måde at bruge signaler uden at aflede fra <classname>TQObject</classname> er at bruge klassen <classname>QSignal</classname>. Se referencedokumentationen for mere information og eksempel på brug. Vi antager at du afleder fra <classname>TQObject</classname> i det følgende. </para>
<para>På denne måde kan din klasse sende signaler hvor som helst og sørge for slots som signaler kan forbindes til. Ved at bruge et signal, behøver du ikke bryde dig om hvem der modtager det. Du behøver kun at sende signalet, og hvilken slot du end forbinder den til kan reagere når den sendes. Desuden kan en slot bruges som en almindelig metode i implementeringen. </para>
-<para>For nu at forbinde et signal til en slot, skal du bruge metoderne <methodname>connect()</methodname> som varetages af <classname>QObject</classname> eller, hvis tilgængelige, specielle metoder som objekter sørger for for at angive forbindelsen for et vist signal. </para>
+<para>For nu at forbinde et signal til en slot, skal du bruge metoderne <methodname>connect()</methodname> som varetages af <classname>TQObject</classname> eller, hvis tilgængelige, specielle metoder som objekter sørger for for at angive forbindelsen for et vist signal. </para>
<sect3 id="c1s2s4s1">
<title>Eksempel på brug</title>
@@ -255,16 +255,16 @@ hello.resize( 100, 30 );
a.setMainWidget( &amp;hello );
-QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
+TQObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
hello.show();
return a.exec();
}
</programlisting>
</para>
-<para>Du mærker at alt du skal tilføje for at give knappen mere kommunikation er metoden <methodname>connect()</methodname>: <methodname>connect (&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ))</methodname>;. Hvad er betydningen nu? Klassedeklarationen af QObject siger følgende om metoden <methodname>connect()</methodname>: </para>
-<para><methodname>bool connect ( const QObject * afsender, const char * signal, const QObject * modtager, const char * medlem ) </methodname></para>
-<para>Dette betyder at du skal angive en <classname>QObject</classname>-instanspeger som er signalets afsender, hvilket betyder at den kan sende signalet, som første parameter. Derefter skal du angive signalet som du vil forbinde til. De to sidste parametre er modtagerobjektet som sørger for en slot, fulgt af medlemsfunktionen som er en virkelig slot som vil køres når signalet sendes. </para>
+<para>Du mærker at alt du skal tilføje for at give knappen mere kommunikation er metoden <methodname>connect()</methodname>: <methodname>connect (&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ))</methodname>;. Hvad er betydningen nu? Klassedeklarationen af TQObject siger følgende om metoden <methodname>connect()</methodname>: </para>
+<para><methodname>bool connect ( const TQObject * afsender, const char * signal, const TQObject * modtager, const char * medlem ) </methodname></para>
+<para>Dette betyder at du skal angive en <classname>TQObject</classname>-instanspeger som er signalets afsender, hvilket betyder at den kan sende signalet, som første parameter. Derefter skal du angive signalet som du vil forbinde til. De to sidste parametre er modtagerobjektet som sørger for en slot, fulgt af medlemsfunktionen som er en virkelig slot som vil køres når signalet sendes. </para>
<para>Ved at bruge signaler og slots, kan programmets objekter nemt kommunikere med hinanden uden udtrykkeligt at afhænge af typen af modtagarobjektet. Du vil lære mere om hvordan denne mekanisme bruges produktivt senere i håndbogen. Mere information om signal/slot-mekanismen findes også i <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE's biblioteksreferenceguide</ulink> og <ulink url="doc.trolltech.com">QT's reference på nettet</ulink>. </para>
</sect3>
</sect2>
@@ -304,7 +304,7 @@ hello.resize( 100, 30 );
a.setTopWidget( &amp;hello );
-QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
+TQObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
hello.show();
return a.exec();
@@ -313,7 +313,7 @@ return a.exec();
</para>
<para>Du ser at vi først har ændret fra <classname>QApplication</classname> til <classname>TDEApplication</classname>. Desuden var vi tvunget til at ændre den tidligere brugte metode <methodname>setMainWidget()</methodname> til <methodname>setTopWidget</methodname> som <classname>TDEApplication</classname> bruger til for at angive hovedkontrollen. Det er alt! Dit første KDE-program er klart. Du behøver kun at fortælle oversætteren hvilken deklarationssøgesti KDE har, og linkeren at den skal linke med tdecore-biblioteket med -ltdecore. </para>
<para>Eftersom du nu i det mindste ved hvad funktionen <function>main()</function> i almindelighed sørger for, og hvordan et program bliver synligt og tillader kommunikation mellem brugere og objekt, fortsætter vi med næste kapitel, hvor vort første program med &tdevelop; laves. Der kan du også prøve alt som tidligere blev nævnt, og se effekterne. </para>
-<para>Hvad du yderligere bør have kigget på hidtil er QT-referencedokumentationen, især klasserne <classname>QApplication</classname>, <classname>QWidget</classname> og <classname>QObject</classname> og tdecore-biblioteksdokumentationen for klassen <classname>TDEApplication</classname>. <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE's biblioteksreferenceguide</ulink> har også en fuldstændig beskrivelse af hvordan konstruktorerne i <classname>QApplication</classname> og <classname>TDEApplication</classname> kaldes, inklusive behandling af kommandolinjeflag. </para>
+<para>Hvad du yderligere bør have kigget på hidtil er QT-referencedokumentationen, især klasserne <classname>QApplication</classname>, <classname>TQWidget</classname> og <classname>TQObject</classname> og tdecore-biblioteksdokumentationen for klassen <classname>TDEApplication</classname>. <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE's biblioteksreferenceguide</ulink> har også en fuldstændig beskrivelse af hvordan konstruktorerne i <classname>QApplication</classname> og <classname>TDEApplication</classname> kaldes, inklusive behandling af kommandolinjeflag. </para>
</sect2>
</sect1>
@@ -549,10 +549,10 @@ return a.exec();
16 statusBar()->show();
17
18 // tillad visningen at ændre statuslinjen og overskriften
-19 connect(m_view, SIGNAL(signalChangeStatusbar(const QString&amp;)),
-20 this, SLOT(changeStatusbar(const QString&amp;)));
-21 connect(m_view, SIGNAL(signalChangeCaption(const QString&amp;)),
-22 this, SLOT(changeCaption(const QString&amp;)));
+19 connect(m_view, SIGNAL(signalChangeStatusbar(const TQString&amp;)),
+20 this, SLOT(changeStatusbar(const TQString&amp;)));
+21 connect(m_view, SIGNAL(signalChangeCaption(const TQString&amp;)),
+22 this, SLOT(changeCaption(const TQString&amp;)));
23
24 }
</programlisting>
@@ -584,7 +584,7 @@ return a.exec();
</itemizedlist>
</para>
<para>Det behøves ikke at siges at stabilitet er et af hovedmålene med konstruktionen. Ingen kan forhindre fejl, men et minimum kan i det mindste opnås med smarte konstruktionsmål og udbredt brug af objektorienterede konstruktioner. C++ gør det til en fornøjelse at programmere hvis du ved hvordan man udnytter dens muligheder - arv, at skjule information og genbrug af eksisterende kode. </para>
-<para>Når et KDE- eller QT-projekt laves, skal du altid have en visning som arver en QWidget, enten med direkte arv eller fordi en bibliotekskontrol som du vil bruge arver QWidget. Derfor har Programguiden allerede oprettet en visning som er en instans af klassen programnavnView, som allerede arver QWidget. </para>
+<para>Når et KDE- eller QT-projekt laves, skal du altid have en visning som arver en TQWidget, enten med direkte arv eller fordi en bibliotekskontrol som du vil bruge arver TQWidget. Derfor har Programguiden allerede oprettet en visning som er en instans af klassen programnavnView, som allerede arver TQWidget. </para>
<para>Dette kapitel beskriver derfor hvordan bibliotekskontroller bruges til at oprette visninger for KDE- og QT-programmer som laves med &tdevelop;. Derefter kigger vi på bibliotekerne og hvilke slags visninger de allerede tilbyder. </para>
</sect1>
<sect1 id="c4s2">
@@ -601,7 +601,7 @@ return a.exec();
<para>Når du kigger på den første side af QT's net-dokumentation, finder du et link til "Widget Screenshots", hvor du kan kigge på hvordan de grafiske kontroller som QT indeholder ser ud. De er parate til at bruge, og kan kombineres til at give komplekse kontroller som kan oprette programvisninger eller dialoger. I det følgende beskriver vi nogle af disse, som er meget nyttigt til at oprette programvisninger, men husk at KDE-bibliotekerne sommetider indeholder andre kontroller med samme formål. Disse diskuteres i næste afsnit. </para>
<para>Her er nogle vink om hvilken Qt-komponent der kan bruges til hvilket slutmål: <orderedlist>
<listitem><para>Hvis visningsområdet ikke er stort nok til at vise alle data, skal brugeren kunne panorere i dokumentet med lister til venstre og længst nede i visningen. QT sørger for klassen <classname>QScrollView</classname> for dette, som tilbyder et underliggende område med panoreringsmulighed. Som tidligere forklaret, kan du lade dine egne grafiske kontroller arve <classname>QScrollView</classname>, eller bruge en instans for at håndtere dit dokuments visningskomponent. </para></listitem>
-<listitem><para>For at oprette en egen ScrollView, lad komponenten View arve fra <classname>QWidget</classname> og tilføj lodrette og vandrette rullebjælker med <classname>QScrollBars</classname>. (Dette udføres af KDE's kontrol TDEHTMLView.) </para></listitem>
+<listitem><para>For at oprette en egen ScrollView, lad komponenten View arve fra <classname>TQWidget</classname> og tilføj lodrette og vandrette rullebjælker med <classname>QScrollBars</classname>. (Dette udføres af KDE's kontrol TDEHTMLView.) </para></listitem>
<listitem><para>Til tekstbehandling, bruges <classname>QTextEdit</classname>. Denne klasse sørger for en fuldstændig grafisk teksteditorkontrol, som allerede kan klippe, kopiere og indsætte tekst og håndteres af en visning med rullebjælker. </para></listitem>
<listitem><para>Brug <classname>QTable</classname> til at vise data som er arrangeret i en tabel. Eftersom <classname>QTable</classname> også håndteres af rullebjælker, tilbyder den en god løsning for programmer med tabelberegninger. </para></listitem>
<listitem><para>For at vise to forskellige grafiske kontroller eller to instanser af samme kontrol samtidigt, bruges <classname>QSplitter</classname>. Den tillader at visninger lægges side ved side med vandrette eller lodrette opdelere. Kmail er et godt eksempel på hvordan det ser ud. Hovedvinduet er opdelt lodret af en opdeler, og det højre vindue er igen opdelt vandret. </para></listitem>
@@ -653,7 +653,7 @@ return a.exec();
<title>Indstilling af genvejstaster</title>
<para>Noget meget professionelt som du altid bør tilføje i programmet er genvejstaster. De bruges oftest af erfarne brugere som vil arbejde hurtigt med deres programmer og er villige til at lære sig genveje. KDE-bibliotekerne tilbyder klassen <classname>TDEAction</classname> til dette, som sørger for genvejstaster og adgang til globalt indstillede standardgenveje. </para>
<para>Normalt bruger kun rammeprogrammer oprettet af &tdevelop; almindelige genvejstaster såsom F1 for at komme til nethjælp, Ctrl+N for Ny fil, osv. </para>
-<para>Hvis programmet indeholder mange genvejstaster bør du gøre dem indstillelige via en indstillingsmenu. Enten kan det kombineres med anden programindstilling i en QWidget eller være alene. KDE-biblioteket sørger allerede for en <classname>KKeyChooser</classname> til at bruge i fanebladsdialoger, mens <classname>KKeyDialog</classname> sørger for en indstillingsdialog for genvejstaster som er parat til brug. </para>
+<para>Hvis programmet indeholder mange genvejstaster bør du gøre dem indstillelige via en indstillingsmenu. Enten kan det kombineres med anden programindstilling i en TQWidget eller være alene. KDE-biblioteket sørger allerede for en <classname>KKeyChooser</classname> til at bruge i fanebladsdialoger, mens <classname>KKeyDialog</classname> sørger for en indstillingsdialog for genvejstaster som er parat til brug. </para>
</sect1>
</chapter>
@@ -696,7 +696,7 @@ return a.exec();
<sect1 id="c8s4">
<title>Knappen <guibutton>Hvad er dette?</guibutton></title>
<para>Knappen <guibutton>Hvad er dette...?</guibutton> sørger for hjælpevinduer med formålet at give brugeren hjælp med en vis kontrol i visningen som bruges eller et objekt i en værktøjslinje. Den er i værktøjslinjen og aktiveres når brugeren trykker på knappen. Markøren ændres til en pilemarkør med et spørgsmålstegn, præcis som knappen selv ser ud. Derefter kan brugeren klikke på en synlig kontrol og får så et hjælpevindue. Som en øvelse kan du prøve opførslen med knappen <guibutton>Hvad er dette...?</guibutton> inde i &tdevelop;. </para>
-<para>For at tilføje "Hvad er dette...?" hjælp til en af dine grafiske kontroller, bruges den statiske metode <methodname>QWhatsThis::add(QWidget *widget, const QString &amp;text)</methodname> </para>
+<para>For at tilføje "Hvad er dette...?" hjælp til en af dine grafiske kontroller, bruges den statiske metode <methodname>QWhatsThis::add(TQWidget *widget, const TQString &amp;text)</methodname> </para>
</sect1>
</chapter>
diff --git a/tde-i18n-da/docs/tdevelop/kdearch/index.docbook b/tde-i18n-da/docs/tdevelop/kdearch/index.docbook
index 9bec798dfdb..5a6d98a83a8 100644
--- a/tde-i18n-da/docs/tdevelop/kdearch/index.docbook
+++ b/tde-i18n-da/docs/tdevelop/kdearch/index.docbook
@@ -238,7 +238,7 @@
</formalpara></listitem>
<listitem><formalpara><title><ulink url="kdeapi:tdeui/KPixmapIO">KPixmapIO</ulink></title>
-<para>Hurtig konvertering mellem <classname>QImage</classname> og <classname>QPixmap</classname>. </para>
+<para>Hurtig konvertering mellem <classname>TQImage</classname> og <classname>QPixmap</classname>. </para>
</formalpara></listitem>
</itemizedlist>
@@ -473,7 +473,7 @@ url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink></title>
<para>Qt's lavniveau tegnemodel er baseret på de muligheder som tilbydes af X11 og andre vinduessystemer hvor en version af Qt findes. Men den udvider dem også ved at implementere yderligere funktioner såsom vilkårlige affine transformationer for tekst og billeder. </para>
-<para>Den centrale grafiske klasse til at tegne todimensionalt med Qt er <ulink url="kdeapi:qt/QPainter">QPainter</ulink>. Den kan tegne på en <ulink url="kdeapi:qt/QPaintDevice">QPaintDevice</ulink>. Der er tre mulige tegneenheder implementerede: En er <ulink url="kdeapi:qt/QWidget">QWidget</ulink>, som repræsenterer en grafisk kontrol på skærmen. Den anden er <ulink url="kdeapi:qt/QPrinter">QPrinter</ulink>, som repræsenterer en printer, og producerer Postscript-udskrift. Den tredje er klassen <ulink url="kdeapi:qt/QPicture">QPicture</ulink>, som indspiller tegnekommandoer og kan gemme dem til disk, og derefter afspille dem. Et muligt lagringsformat for tegnekommandoer er W3C-standarden SVG. </para>
+<para>Den centrale grafiske klasse til at tegne todimensionalt med Qt er <ulink url="kdeapi:qt/QPainter">QPainter</ulink>. Den kan tegne på en <ulink url="kdeapi:qt/QPaintDevice">QPaintDevice</ulink>. Der er tre mulige tegneenheder implementerede: En er <ulink url="kdeapi:qt/TQWidget">TQWidget</ulink>, som repræsenterer en grafisk kontrol på skærmen. Den anden er <ulink url="kdeapi:qt/QPrinter">QPrinter</ulink>, som repræsenterer en printer, og producerer Postscript-udskrift. Den tredje er klassen <ulink url="kdeapi:qt/QPicture">QPicture</ulink>, som indspiller tegnekommandoer og kan gemme dem til disk, og derefter afspille dem. Et muligt lagringsformat for tegnekommandoer er W3C-standarden SVG. </para>
<para>Altså er det muligt at genbruge visningskoden som du bruger til for at vise en grafisk kontrol for udskrift, med støtte for samme funktioner. Naturligvis bruges koden i praksis i en noget anderledes sammenhæng. Tegning på en grafisk kontrol gøres næsten kun i metoden paintEvent() i en kontrolklasse. </para>
@@ -664,10 +664,10 @@ url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink></title>
<para>QBrush::QBrush(BrushStyle): dette laver en sort pensel, med et af de fordefinerede mønstre som vises nedenfor.</para>
</listitem>
<listitem>
-<para>QBrush::QBrush(const QColor &amp;, BrushStyle): dette laver en farvet pensel, med et af de fordefinerede mønstre som vises nedenfor.</para>
+<para>QBrush::QBrush(const TQColor &amp;, BrushStyle): dette laver en farvet pensel, med et af de fordefinerede mønstre som vises nedenfor.</para>
</listitem>
<listitem>
-<para>QBrush::QBrush(const QColor &amp;, const QPixmap): dette laver en farvet pensel, med det egne mønster som angives som anden parameter.</para>
+<para>QBrush::QBrush(const TQColor &amp;, const QPixmap): dette laver en farvet pensel, med det egne mønster som angives som anden parameter.</para>
</listitem>
</itemizedlist>
@@ -685,7 +685,7 @@ url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink></title>
<simplesect id="qpainter-color">
<title>Farve</title>
-<para>Farver har betydning både når kurvor tegnes, og når former udfyldes. Farver repræsenteres af klassen <ulink url="kdeapi:qt/QColor">QColor</ulink> i Qt. Qt understøtter ikke avancerede grafikfunktioner såsom ICC-farveprofiler og farvekorrektion. Farver laves oftest ved at angive deres røde, grønne og blå komponenter, eftersom RGB-modellen er måden som billedpunkter sammensættes en billedskærm. </para>
+<para>Farver har betydning både når kurvor tegnes, og når former udfyldes. Farver repræsenteres af klassen <ulink url="kdeapi:qt/TQColor">TQColor</ulink> i Qt. Qt understøtter ikke avancerede grafikfunktioner såsom ICC-farveprofiler og farvekorrektion. Farver laves oftest ved at angive deres røde, grønne og blå komponenter, eftersom RGB-modellen er måden som billedpunkter sammensættes en billedskærm. </para>
<para>Det er også muligt at bruge farvetone, mætning og værdi. Denne HSV-repræsentation er den som bruges i GTK's farvedialog, f.eks. i GIMP. Der svarer farvetonen til en vinkel i farvehjulet, mens farvemætningen svarer til afstanden fra cirklens midte. Værdien vælges med en separat glider. </para>
@@ -738,7 +738,7 @@ url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink></title>
<para><ulink url="kdeapi:qt/QPixmap">QPixmap</ulink> svarer direkte til pixmapsobjekter i X11. En pixmap er et objekt på serversiden og kan, med et moderne grafikkort, til og med opbevares direkte i kortets hukommelse. Det gør det <emphasis>meget</emphasis> effektivt at overføre en pixmap til skærmen. En pixmap virker også som en svarende til grafiske kontroller udenfor skærmen. QPixmap-klassen er en delklasse til QPaintDevice, så det er muligt at tegne på den med en QPainter. Elementære tegneoperationer accelereres ofte af moderne grafik. Derfor er et almindeligt brugsmønster at bruge en pixmap til dobbeltbuffering. Dette betyder at i stedet for at tegne direkte på en grafisk kontrol, tegner man på et tilfældigt pixmapobjekt og bruger funktionen <ulink url="kdeapi:qt/QPaintDevice#bitBlt-1">bitBlt</ulink> til at overføre det til kontrollen. For komplekse gentegninger, hjælper dette med at undgå flimmer. </para>
-<para>I modsætning til dette, er der <ulink url="kdeapi:qt/QImage">QImage</ulink>-objekter på klientsiden. Deres hovedopgave er at give direkte adgang til billedpunkterne i billederne. Det gør dem nyttige til billedhåndtering, og ting såsom at indlæse og gemme til disk (Metoden load() for QPixmap bruger QImage som et mellemtrin). På den anden siden, så bliver optegning af et billede på en grafisk kontrol en ganske krævende handling, eftersom det indebærer en overførsel til X-serveren, hvilket kan tage en vis tid, især for store billeder og fjernservere. Afhængig af farvedybden, kan konvertering fra QImage til QPixmap også kræve brug af dithering. </para>
+<para>I modsætning til dette, er der <ulink url="kdeapi:qt/TQImage">TQImage</ulink>-objekter på klientsiden. Deres hovedopgave er at give direkte adgang til billedpunkterne i billederne. Det gør dem nyttige til billedhåndtering, og ting såsom at indlæse og gemme til disk (Metoden load() for QPixmap bruger TQImage som et mellemtrin). På den anden siden, så bliver optegning af et billede på en grafisk kontrol en ganske krævende handling, eftersom det indebærer en overførsel til X-serveren, hvilket kan tage en vis tid, især for store billeder og fjernservere. Afhængig af farvedybden, kan konvertering fra TQImage til QPixmap også kræve brug af dithering. </para>
</simplesect>
@@ -746,7 +746,7 @@ url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink></title>
<simplesect id="qpainter-drawingtext">
<title>Tegn tekst</title>
-<para>Tekst kan tegnes med en af de overbelastede varianter af metoden QPainter::drawText(). Disse tegner en QString, enten ved et given punkt eller inde i en given rektangel, med skrifttypen som indstilles med QPainter::setFont(). Der er også en parameter som tager en ELLER-kombination af visse flag fra nummereringstyperne <ulink url="kdeapi:qt/Qt#AlignmentFlags-enum">Qt::AlignmentFlags</ulink> og <ulink url="kdeapi:qt/Qt#TextFlags-enum">Qt::TextFlags</ulink>. </para>
+<para>Tekst kan tegnes med en af de overbelastede varianter af metoden QPainter::drawText(). Disse tegner en TQString, enten ved et given punkt eller inde i en given rektangel, med skrifttypen som indstilles med QPainter::setFont(). Der er også en parameter som tager en ELLER-kombination af visse flag fra nummereringstyperne <ulink url="kdeapi:qt/Qt#AlignmentFlags-enum">Qt::AlignmentFlags</ulink> og <ulink url="kdeapi:qt/Qt#TextFlags-enum">Qt::TextFlags</ulink>. </para>
<para>Begyndende i version 3.0, håndterer Qt fuldstændig tekstlayout også for sprog som skrives fra højre til venstre. </para>
@@ -1002,7 +1002,7 @@ rc_DATA = kviewui.rc
<programlisting>void MainWindow::popupRequested()
{
- QWidget *w = factory()->container("context_popup", this);
+ TQWidget *w = factory()->container("context_popup", this);
QPopupMenu *popup = static_cast&lt;QPopupMenu *&gt;(w);
popup->exec(QCursor::pos());
}
@@ -1138,13 +1138,13 @@ X-TDE-ServiceType=KDevelop/Part
Name=KDevelop Part
[PropertyDef::X-KDevelop-Scope]
-Type=QString
+Type=TQString
[PropertyDef::X-KDevelop-ProgrammingLanguages]
Type=QStringList
[PropertyDef::X-KDevelop-Args]
-Type=QString
+Type=TQString
</programlisting>
<para>Foruden de sædvanlige indgange, demonstrerer dette eksempel hvordan man angiver at en tjeneste har visse egenskaber. Hver definition af en egenskab svarer til en gruppe <literal>[PropertyDef::name]</literal> i konfigurationsfilen. I gruppen, angiver indgangen <literal>Type</literal> egenskabens type. Mulige typer er alt som kan opbevares i en <ulink url="kdeapi:qt/QVariant">QVariant</ulink>. </para>
@@ -1196,11 +1196,11 @@ X-KDevelop-Scope=Project
<para>Med objektet <classname>KService</classname> tilgængeligt, kan du meget let indlæse biblioteket og få en peger til dets tilvirkningsobjekt. </para>
<programlisting>KService *service = ...
-QString libName = QFile::encodeName(service->library());
+TQString libName = QFile::encodeName(service->library());
KLibFactory *factory = KLibLoader::self()->factory(libName);
if (!factory) {
- QString name = service->name();
- QString errorMessage = KLibLoader::self()->lastErrorMessage();
+ TQString name = service->name();
+ TQString errorMessage = KLibLoader::self()->lastErrorMessage();
KMessageBox::error(0, i18n("There was an error loading service %1.\n"
"The diagnostics from libtool is:\n%2")
.arg(name).arg(errorMessage);
@@ -1211,7 +1211,7 @@ if (!factory) {
<programlisting>if (factory->inherits("KParts::Factory")) {
KParts::Factory *partFactory = static_cast&lt;KParts::Factory*&gt;(factory);
- QObject *obj = partFactory->createPart(parentWidget, widgetName,
+ TQObject *obj = partFactory->createPart(parentWidget, widgetName,
parent, name, "KParts::ReadOnlyPart");
...
} else {
@@ -1256,7 +1256,7 @@ X-TDE-StartupNotify=false
<programlisting>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("tdeio_uiserver")) {
- QString error;
+ TQString error;
if (TDEApplication::startServiceByName("tdeio_uiserver", QStringList(), &amp;error))
cout &lt;&lt; "Start af TDEIO-server mislykkedes med meddelelsen " &lt;&lt; error &lt;&lt; endl;
}
@@ -1275,7 +1275,7 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)",
<para>I eksemplet som gives her, startes tjenesten "med navn", dvs. første argument til <function>TDEApplication::startServiceByName() </function> er navnet, som det angives på linjen <literal>Name</literal> i desktop-filen. Et alternativ er at bruge <function>TDEApplication::startServiceByDesktopName()</function>, som bruger navnet på desktop-filen som argument, dvs. i dette tilfælde <literal>"tdeio_uiserver.desktop"</literal>. </para>
-<para>Alle disse kald har en liste med URL'er som andet argument, som gives til tjenesten på kommandolinjen. Det tredje argument er en peger til en <classname>QString</classname>. Hvis starten af tjenesten mislykkes, tildeles dette argument til en oversat fejlmeddelelse. </para>
+<para>Alle disse kald har en liste med URL'er som andet argument, som gives til tjenesten på kommandolinjen. Det tredje argument er en peger til en <classname>TQString</classname>. Hvis starten af tjenesten mislykkes, tildeles dette argument til en oversat fejlmeddelelse. </para>
</simplesect>
@@ -1385,7 +1385,7 @@ else
<para>Naturligvis kan selv KMimeMagic kun afgøre filtypen ud fra indholdet i en lokal fil. For fjernfiler, er der yderligere en mulighed: </para>
<programlisting>KURL url("http://developer.kde.org/favicon.ico");
-QString type = TDEIO::NetAccess::mimetype(url);
+TQString type = TDEIO::NetAccess::mimetype(url);
if (type == KMimeType::defaultMimeType())
cout &lt;&lt; "Kunne ikke afgøre typen" &lt;&lt; endl;
else
@@ -1463,7 +1463,7 @@ KRun::run(offer.service(), urlList);
<para>Hent en ikon for en URL. Dette kigger efter URL'ens type, og returnerer en tilsvarende ikon. </para>
<programlisting>KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c");
-QString icon = KMimeType::iconForURL(url);
+TQString icon = KMimeType::iconForURL(url);
</programlisting>
<para>Kør en URL. Dette kigger efter URL'ens type, og starter et tilhørende program til typen som brugeren foretrækker. </para>
@@ -1542,7 +1542,7 @@ void FooClass::mkdirResult(TDEIO::Job *job)
<listitem><para>Omdøber en fil. </para></listitem>
</varlistentry>
-<varlistentry><term>TDEIO::symlink(const QString &amp;target, const KURL &amp;dest, bool overwrite, bool showProgressInfo)</term>
+<varlistentry><term>TDEIO::symlink(const TQString &amp;target, const KURL &amp;dest, bool overwrite, bool showProgressInfo)</term>
<listitem><para>Opretter et symbolsk link. </para></listitem>
</varlistentry>
@@ -1662,7 +1662,7 @@ TDEIO::NetAccess::copy(source, target);
<programlisting>KURL url;
url = ...;
-QString tempFile;
+TQString tempFile;
if (TDEIO::NetAccess::download(url, tempFile) {
// indlæse filen med navnet tempFile
TDEIO::NetAccess::removeTempFile(tempFile);
@@ -1698,12 +1698,12 @@ if (TDEIO::NetAccess::download(url, tempFile) {
void FooClass::transferResult(TDEIO::Job *job)
{
- QString mimetype;
+ TQString mimetype;
if (job->error())
job->showErrorDialog();
else {
TDEIO::TransferJob *transferJob = (TDEIO::TransferJob*) job;
- QString modified = transferJob->queryMetaData("modified");
+ TQString modified = transferJob->queryMetaData("modified");
cout &lt;&lt; "Seneste ændring: " &lt;&lt; modified &lt;&lt; endl;
}
</programlisting>
@@ -1848,7 +1848,7 @@ int kdemain(int argc, char **argv)
<listitem><para>copy(const KURL &amp;url, const KURL &amp;dest, int permissions, bool overwrite)</para></listitem></varlistentry>
<varlistentry><term>Opretter et symbolsk link.</term>
-<listitem><para>void symlink(const QString &amp;target, const KURL &amp;dest, bool overwrite)</para></listitem></varlistentry>
+<listitem><para>void symlink(const TQString &amp;target, const KURL &amp;dest, bool overwrite)</para></listitem></varlistentry>
</variablelist>