<?xml version="1.0"  encoding="UTF-8" ?>

<sect1 id="widgets">
<sect1info>
<title
>Grafiska komponenter</title>
</sect1info>

<title
>Grafiska komponenter</title>

<para
>Byggblocken i en &kommander; dialogruta är de grafiska komponenterna. De är som alla andra grafiska komponenter i &Qt;- och &kde;-biblioteken, utom att de har en del extra funktioner som möjliggör att de har en <quote
>textassociation</quote
>. Text associeras med ett tillstånd hos den grafiska komponenten eller dess ifyllnadslot. Antal tillstånd beror på den grafiska komponenten. Om en komponent bara har ett tillstånd, kallas det förvalt. </para>

<note>
<para
>Huvuddialogrutan har två specialtillstånd för &kommander; text. De är Initialization och Destroy. De körs när dialogrutan initieras och när den förstörs. Dessa skyddar mot vad som är känt som <quote
>kapplöppningsproblem</quote
> vid öppning, och betyder att du inte behöver några speciella procedurer vid stängning för att hantera underhåll.</para>
<para
>I fallet när ett program baserat på ett huvudfönster (skapat med &Qt; Designer) används, finns det inte tillstånden Initialization och Destroy, instället kan signalerna <emphasis
>initialize</emphasis
> och <emphasis
>destroy</emphasis
> användas för att få information om när programmet skapas eller stängs.</para>
</note>

<para
>Nedan är &kommander;s grafiska standardkomponenter. Var och en av dem har ett stort antal funktioner. Du kan ta reda på dem genom att titta på komponentfunktionerna i <guilabel
>funktionsbläddraren</guilabel
>. Många har dessutom signaler och slots. Dokumentation om dessa metoder finns i dokumentationen av programmeringsgränssnittet för &Qt; och &kde;. Varje &kommander;-komponent har en anmärkning om dess baskomponent. </para>

<variablelist>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="label.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Etikett </term>
<listitem>
<para
>En enkel grafisk komponent som innehåller en text. Komponenten låter dig också använda en punktavbildning. </para>
<para
>Se dokumentationen av QLabel för att ta reda på mer om textetiketter i &Qt;. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pixlabel.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Punktavbildningsetikett </term>
<listitem>
<para
>En enkel grafisk komponent som innehåller en bild eller text. Punktavbildningen som ska visas anges i egenskapen pixmap. Texten anges i textegenskapen. Bara en av dessa egenskaper kan anges samtidigt (Tror jag. Jag kan inte få editorn att ange båda samtidigt). Om scaledContents sätts till true, skalas bilden så att den motsvarar den grafiska komponentens storlek. Textformatet kan anges med egenskapen textFormat. </para>
<para
>Se dokumentationen av QLabel för att ta reda på mer om textetiketter i &Qt;. </para>
</listitem>
</varlistentry>


<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Radeditor </term>
<listitem>
<para
>En radeditorkomponent är enraders texteditor. Den låter användaren skriva in och ändra en enda textrad. Ursprunglig text för editorn kan anges med textegenskapen. Komponenten kan ställas in till enbart läsbar med egenskapen readOnly. Det finns tre lägen för komponenten, Normal, NoEcho och Password. Läget anges med egenskapen echoMode. </para>
<para
>Radeditorn har ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för radeditorn är texten som finns i editorn. </para>
<para
>Se dokumentationen av KLineEdit för att ta reda på mer om textetiketter i &kde;. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="multilineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Texteditor </term>
<listitem>
<para
>En enkel flerraders texteditor. </para>
<para
>Se dokumentationen av KTextEdit för att ta reda på mer om flerraders texteditorer i &kde;. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="textbrowser.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Textbläddrare </term>
<listitem>
<para
>En enkel bläddrare för rik text med hyperlänknavigering. </para>
<para
>Se dokumentationen av KTextBrowser för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Listruta </term>
<listitem>
<para
>En listruta tillhandahåller en lista med objekt som kan markeras. Normalt är ett eller inget element markerade. Beteendet kan ändras med egenskapen selectionMode. Objekt läggs till i listrutan genom att använda redigeringsfönstret. </para>
<para
>En listruta har bara ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för en listruta är objekten som finns i listrutan. @selectedWidgetText returnerar bara de objekt som för närvarande är markerade. </para>
<para
>Se dokumentationen av KListBox för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="combobox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Kombinationsruta </term>
<listitem>
<para
>Kombinationsruta är urvalskomponent som kombinerar en knapp och en meny. Den visar användarens nuvarande val i en lista med alternativ på minsta möjliga utrymme. Objekt läggs till i listan genom att använda redigeringsfönstret. Om egenskapen editable sätts till true, kan användaren skriva in godtyckliga strängar. </para>
<para
>En kombinationsruta har ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för en kombinationsruta är texten i det valda objektet. </para>
<para
>Se dokumentationen av KComboBox för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Trädkomponent </term>
<listitem>
<para
>En komponent som tillhandahåller en lista i form av en trädstruktur. Man kan lägga till underobjekt och flerkolumnsdata. Nuvarande begränsning är att man inte kan ändra kolumner. För att lägga till ett underobjekt använd <quote
>/</quote
> som avskiljare. För att lägga till kolumndata använd tabulatortecknet <quote
>\t</quote
> mellan kolumner. </para>
<para
>Se dokumentationen av KListView för att ta reda på mer om den. </para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="table.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Tabell </term>
<listitem>
<para
>En tabellkomponent som stöder olika grafiska komponenter i sina celler. </para>
<para
>Se dokumentationen av QTable för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Körknapp </term>
<listitem>
<para
>En knapp som kör sin associerade text när den klickas. Knappens rubrik ställs in med textegenskapen. Utmatning från textassociationen (hur säger man) ekas till standardutmatningen om egenskapen writeStdout sätts till true. Knappen kan vara dialogrutans standardåtgärd om egenskapen default sätts till true. </para>
<para
>Körknapp har ett tillstånd, det förvalda. </para>
<para
>Det finns inte någon komponenttext som hör till en körknapp. </para>
<para
>Se dokumentationen av KPushButton för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="closebutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Stängknapp </term>
<listitem>
<para
>En knapp som kör sin associerade text när den klickas och därefter stänger dialogrutan. Knappens rubrik ställs in med textegenskapen. Utmatning från textassociationen (hur säger man) ekas till standardutmatningen om egenskapen writeStdout sätts till true. Knappen kan vara dialogrutans standardåtgärd om egenskapen default sätts till true. </para>
<para
>En stängknapp har ett tillstånd, det förvalda. </para>
<para
>Det finns inte någon komponenttext som hör till en stängknapp. </para>
<para
>Se dokumentationen av KPushButton för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="konsole.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Konsol </term>
<listitem>
<para
>En grafisk komponent som visar utmatningen från skript i en textbläddrare. Förvalt tillstånd körs, och utmatningen från dessa kommandon (interna och externa) visas i komponenten. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Filväljare </term>
<listitem>
<para
>Den grafiska komponenten filväljare kombinerar en radeditor med en knapp, som när den klickas visar användaren en dialogruta för att välja filer eller kataloger. Filen eller katalogen som väljes lagras i radeditorn. Filväljarens typ anges med egenskapen selectionType. Tillgängliga typer är Open, Save och Directory. Flera filer eller kataloger kan väljas om egenskapen selectionOpenMutliple sätts till true. En rubrik för filväljaren kan anges med egenskapen selectionCaption. Den visas i dialogrutans namnlist. Om en rubrik inte anges, visas väljarens typ i rubriken. Filerna som visas i dialogrutan kan begränsas med egenskapen selectionFilter. </para>
<para
>Filväljaren har ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för en filväljare är texten som finns i radeditorn (filen som valts av användaren). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="checkbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Kryssruta </term>
<listitem>
<para
>En knapp som kan markeras eller avmarkeras. Den kan också vara halvmarkerad om egenskapen tristate sätts till true. Rubriken som hör ihop med kryssrutan ställs in med textegenskapen. Sätts egenskapen checked, är kryssrutan markerad från början. </para>
<para
>En kryssruta har tre tillstånd, markerad, halvmarkerad och omarkerad. </para>
<para
>Komponenttexten för en kryssruta är värdet på egenskapen text. </para>
<para
>Se dokumentationen av KCheckBox för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="radiobutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Tryckknapp </term>
<listitem>
<para
>En knapp som kan markeras eller avmarkeras, som oftast används i en knappgrupp för att göra ett alternativval. En rubrik som hör ihop med knappen kan anges i textegenskapen. En knapp kan initieras som markerad genom att sätta egenskapen checked till true. Om alla alternativknappar i en knappgrupp har egenskapen checked satt till true, är det den sista knappen som blir markerad. </para>
<para
>Alternativknappen har två tillstånd, markerad och omarkerad. </para>
<para
>Det finns inte någon komponenttext som hör till en alternativknapp. </para>
<para
>Se dokumentationen av KRadioButton för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="buttongroup.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Knappgrupp </term>
<listitem>
<para
>En omslutande komponent för att organisera knappar i grupper. En valfri rubrik kan anges med egenskapen title. Ramen kan justeras med egenskapen lineWidth. Knappgruppen kan ställa in för alternativval genom att sätta egenskapen exclusive till true. Det betyder att om en växlande knapp klickas, avmarkeras alla andra växlande knappar med undantag för alternativknappar som alltid är ömsesidigt uteslutande även om gruppen inte är inställd för alternativval. Alternativknappar kan ställas in att inte använda alternativval med egenskapen radioButtonExclusive (Jag är inte helt säker på att egenskapen verkligen fungerar). </para>
<para
>Knappgrupp har ett tillstånd, det förvalda.</para>
<para
>Komponenttexten för en knappgrupp är texten som hör ihop med var och en av knapparna i den ordning de syns i knappgruppen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="groupbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Gruppruta </term>
<listitem>
<para
>En omslutande grafisk komponent som innehåller andra komponenter. Ramen kan justeras med egenskapen lineWidth. En rubrik kan läggas till genom att ange rubrikegenskapen. </para>
<para
>Grupprutan har ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för grupprutan är de kombinerade textassociationerna för var och en av komponenterna som den innehåller. De är i den ordningen de syns i grupprutan. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="tabwidget.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Flikkomponent </term>
<listitem>
<para
>En grafisk komponent som tillhandahåller flera flikar, där var och en kan innehålla andra grafiska komponenter. </para>
<para
>Se dokumentationen av KTabWidget för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="spinbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Nummerinmatningsruta </term>
<listitem>
<para
>En komponent som låter användaren ändra ett heltalsvärde genom att antingen trycka på uppåt- och neråtpilar eller skriva in ett värde i rutan. Minimum- och maximumvärden kan ställas in med egenskaperna minValue och maxValue. Egenskapen specialValueText används för att ange ett textvärde som visas istället för minimumvärdet. </para>
<para
>Den här grafiska komponenten har bara ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för nummerinmatningsrutan är heltalet som för närvarande visas. </para>
<para
>Se dokumentationen av QSpinBox för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="slider.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Skjutreglage </term>
<listitem>
<para
>En grafisk komponent som tillhandahåller ett horisontellt eller vertikalt skjutreglage. </para>
<para
>Se dokumentationen av QSlider för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="richtextedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Rik texteditor </term>
<listitem>
<para
>Den här grafiska komponenten tillhandahåller en texteditor som tillåter enkel textformatering. </para>
<para
>Rik texteditor har ett tillstånd, det förvalda. </para>
<para
>Komponenttexten för Rik texteditor är texten som finns i editorn med rik-textformat. Markerad text kan returneras med @selectedWidgetText. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="statusbar.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Statusrad </term>
<listitem>
<para
>En grafisk komponent för att visa statusinformation, oftast använd längst ner i dialogrutor. </para>
<para
>Se dokumentationen av KStatusBar för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="progress.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Förloppsrad </term>
<listitem>
<para
>En grafisk komponent för att visa förloppsinformation. </para>
<para
>Se dokumentationen av KProgress för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="shellscript.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Skriptobjekt </term>
<listitem>
<para
>Detta är en pseudokomponent. Den visas inte när dialogrutan körs. Den kan betraktas som en funktion. Ett skriptobjekt innehåller kod som kan köras när som helst från dialogrutan genom att anropa funktionen <emphasis
>execute</emphasis
>. Argument kan skickas till skriptobjektet med metoden ovan och kommas åt inne i skriptobjektet som <emphasis
>@Self.item(0), @Self.item(1), etc.</emphasis
> med den gamla stilens tolk, eller <emphasis
>Self.item(0, Self.item(1), etc.</emphasis
> med den nya tolken. </para>
<para
>Signaler kan dessutom anslutas till funktionen <emphasis
>execute</emphasis
>, eftersom den också fungerar som en slot. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="timer.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Tidtagare </term>
<listitem>
<para
>Detta är en pseudokomponent. Den visas inte när dialogrutan körs. Den kan användas för att utföra en åtgärd en gång efter en angiven tid, eller regelbundet. Ställ in tidsgränsen <guilabel
>interval</guilabel
> i millisekunder, välj om den ska köras en gång (<guilabel
>singleShot</guilabel
>) eller inte. Anslut signalen <emphasis
>timeout</emphasis
> till en slot, som kommer att köras när den angivna tiden har gått ut. </para>
<para
>Tidtagningen startas inte av sig själv. Kör funktionen <emphasis
>execute</emphasis
> för att starta den. </para>
<para
>Se dokumentationen av QTimer för att ta reda på mer om den. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="datepicker.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Datumväljare </term>
<listitem>
<para
>En grafisk komponent använd för att välja ett datum. Förvalt datum kan ställas in med egenskapen <guilabel
>date</guilabel
> eller med funktionen <emphasis
>setText</emphasis
> med ISO-format: <emphasis
>ÅÅÅÅ-MM-DD</emphasis
>. </para>
<para
>Komponenttexten för är datumet som för närvarande visas. </para>
<para
>Se dokumentationen av KDatePicker för att ta reda på mer om den. </para>
<note
><para
>Nytt i Kommander 1.3.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="kommander.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Om-dialogruta </term>
<listitem>
<para
>Detta är en pseudokomponent. Den visas inte när dialogrutan körs. Den lagrar information om programmet, upphovsmannen och licensen. Den visar om-dialogrutan när funktionen <emphasis
>execute</emphasis
> anropas. <warning
><para
>Funktionen <emphasis
>initialize</emphasis
> måste anropas innan någonting annat, inklusive funktionen <emphasis
>execute</emphasis
>.</para
></warning>
</para>
<note
><para
>Nytt i Kommander 1.3.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="kfontcombo.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Teckensnittsdialogruta </term>
<listitem>
<para
>En pseudokomponent som kan användas för att visa en dialogruta för att välja teckensnitt. Förvalt teckensnitt kan ställas in med funktionen <emphasis
>setFont</emphasis
>, och det valda teckensnittets egenskaper hämtas med funktionerna <emphasis
>family, pointSize, bold, italic</emphasis
>. Dialogrutan visas när funktionen <emphasis
>execute</emphasis
> anropas. </para>
<note
><para
>Nytt i Kommander 1.3.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="contents.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Sammanhangsberoende meny </term>
<listitem>
<para
>En pseudokomponent som kan användas för att visa en meny. Använd funktionerna <emphasis
>insert...</emphasis
> för att lägga till menyalternativ. Så fort användaren klickar på ett menyalternativ, körs funktionen <emphasis
>execute</emphasis
> i den angivna <emphasis
>executeWidget</emphasis
>. Det är möjligt att ansluta menyalternativ till den sammanhangsberoende menyns egen <emphasis
>execute</emphasis
>-funktion, vilket leder till att texten som är tilldelad tillståndet <emphasis
>default</emphasis
> körs. När menyalternativ läggs till kan du tilldela dem ett index, och hantera alla objekt i en meny i menykomponenten, eftersom en begäran skickar tillbaka detta index. För att se hur det fungerar, titta på det aktuella exemplet <link linkend="example-key-value"
>keyvaluecombo.kmdr</link
>. </para>
<para
>Använd <emphasis
>popup</emphasis
> för att visa menyn. Oftast ansluts den till signalen <emphasis
>contextMenuRequested</emphasis
> i en annan komponent.</para>
<para
>En meny kan innehålla andra sammanhangsberoende undermenyer.</para>
<note
><para
>Nytt i Kommander 1.3.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="toolbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Verktygslåda </term>
<listitem>
<para
>En omslutande komponent, liksom flikkomponenten. Den har flera sidor, där varje sida kan innehålla andra komponenter. </para>
<warning
><para
>Komponenten har ett fel i editorn, som inte påverkar dess användning vid körning, men påverkar dess användning i editorn. Om du försöker lägga till sidor i editorn blir den oläsbar. Gör inte det. Om du vill använda verktygslådan, fyll i komponenten i farten med kommandot <command
>addWidget</command
>. Om det finns tid, kommer ett exempel läggas till i utgåva 1.3, titta annars på webbplatsen.</para
></warning>
<para
>Se dokumentationen av QToolBox för att ta reda på mer om den.</para>
<note
><para
>Nytt i Kommander 1.3.</para
></note>
</listitem>
</varlistentry>


</variablelist>
</sect1>
