Grafiske grænseflader og værktøjer til deres udvikling. Retningslinjer for oprettelse af grafiske brugergrænseflader

GUI udvikling

Det vigtigste middel til brugerinteraktion med programmet er den grafiske brugergrænseflade (GUI). Ethvert softwareprodukts GUI er en af nøglefaktorer hans popularitet.

At skabe en kompetent brugergrænseflade er en arbejdskrævende proces og kræver maksimal opmærksomhed på detaljer. Oprettet interface skal maksimere programmets muligheder, men samtidig ikke overbelaste brugeren med en overflod af menuer, knapper, billeder og tekst.

I praksis involverer programmering af Windows-applikationer udstrakt brug af forskellige værktøjer og mestre. Under hensyntagen til standarderne for det valgte operativsystem vil softwaren således have en vinduesgrænseflade. Dette skyldes først og fremmest det faktum, at vinduer er hovedelementerne GUI i operativsystemer (OS) i Windows-familien. De er rektangulære områder, der har deres egne indstillinger, egenskaber og typer.

Den grafiske del af træningsblokken omfatter vinduer af fire typer:

Hovedvinduet indeholder alle navigationselementerne for programmet, samt Yderligere Information nødvendigt for bekvemmeligheden ved at arbejde med softwaren;

Styr vinduer informationsgrundlag-- Inkluder alle informationskomponentkontroller softwareværktøj. De giver tilføjelse af test, information, nye brugere og administratorer og tillader manipulation af nyoprettede eller eksisterende data;

Windows til at arbejde med software muligheder-- give arbejde med de grundlæggende funktioner i træningsblokken, såsom at bestå prøver og studere forelæsninger;

Vinduer til visning af information og statistik -- tjener til at vise forskellige typer information samt statistik og grafer.

Hovedprogramvinduet vil indeholde følgende kontroller og informationsoutput:

Vinduets titel, som indeholder navnet på programmet og formålet med vinduet;

Knapper systemmenu, som er ansvarlige for at ændre størrelse, minimere og lukke programmet;

Vinduets titelareal, som har en rent dekorativ funktion og er nødvendig for at overholde den overordnede designløsning;

Velkomstområde;

Område til visning af ugedag, aktuel dato og klokkeslæt;

Brugerdefineret værktøjslinje, der indeholder knapper til at få adgang til programmets hovedfunktioner;

Det administrative panel indeholder en knap for at få adgang til de administrative kontroller af PS;

Statuslinje, der viser information om alle driftstilstande i programmet.

Diagrammet over hovedvinduet for den grafiske grænseflade (vinduevisning for en administrativ konto) er vist i figur 3.2

Figur 3.2 -- Diagram over hovedvinduet i den grafiske grænseflade: 1 -- vinduets titel; 2 -- systemmenuknapper; 3 -- vinduets titelområde; 4 -- statuslinje; 5 - velkomstområde; 6 - område til visning af ugedag, dato og klokkeslæt; 7 -- administrativt panel; 8 -- brugerpanel; 9 -- knap for at få adgang til indlæringsstadiet; 10 -- knap for at få adgang til teststadiet; 11 - knap til visning af statistik og grafer; 12 - udgang; 13 -- knap for at få adgang til den administrative del af applikationen

Med fokus på den software, der udvikles, blev der udviklet flere ikke-standard grafiske løsninger for at tiltrække opmærksomhed og større interesse for applikationen. Derudover giver dette dig mulighed for at få en form for individualitet blandt resten af ​​rækken af ​​programmer med lignende emner og fokus.

En af disse løsninger kan kaldes farverige grænsefladeelementer, der skaber et unikt design, som ikke har nogen analoger på dette område. Vi taler om animerede indsatser baseret på Flash-animation. De bruges til at designe navnene på alle hovedfunktionsvinduer, navigationselementer og grænsefladen til registrerings- og godkendelsesformularen. De vigtigste fordele ved denne udvikling er: implementering af en behagelig og brugervenlig grænseflade; væsentlig forenkling af brugen af ​​programmet, både på bruger- og administrativt niveau.

En anden af ​​de vigtigste fordele blandt analoge programmer, både i software og i grafisk implementering, er tilrettelæggelsen af ​​at bestå test efter anmodning. At tage testen af denne type brugeren skal samle SQL-forespørgsler fra separate, uafhængige elementer. Afhængigt af den type anmodning, der skal laves baseret på betingelserne for den foreslåede opgave, dannes en specifik polygon til samling. Polygonen indeholder felter til at erstatte operatorer, der trækkes ind i dem med musen fra en separat blok, og felter til indtastning af navne på tabeller, felter og betingelser.

Brugerstatistik implementeres i form af grafer, som er bygget afhængigt af de resultater, han opnår. Hver test har sin egen dynamik. Diagrammer indeholder alle de nødvendige signaturer, er implementeret ved hjælp af TChart-komponenten og har derfor en masse kontroller, der er indbygget i komponenten som standard og som følge heraf implementeret i applikationen.

For en mere brugervenlig visualisering er tabelheader-stilene også blevet erstattet med dem, der er implementeret i standardudviklingsmiljøet.

Således gennemført grafiske løsninger gav os mulighed for at opnå det ønskede resultat af selve ideen om GUI-design. Den oprettede grænseflade maksimerer programmets muligheder, men overbelaster samtidig ikke brugeren med en overflod af menuer, knapper, billeder og tekst.

DOKUMENTSTRUKTUR

4.1. Visuel programmeringsteknologi

4.1.2. Visual Studios hovedvindue

4.1.3. VS hovedmenu og værktøjslinje

4.1.4. Visual Studio Panel Windows

4.1.5. Konfiguration af VS IDE-indstillinger

4.1.6. Test opgaver

4.1.7. Laboratoriearbejde med emnet "VS .NET udviklingsmiljø"

4.1. Visuel programmeringsteknologi
og grundlæggende begreber

Sammenlignet med tidligere generationer programmeringssprog, sprog programmering på højt niveauVisual Basic.Net (VB) har en række grundlæggende forskelle. Dette er et kraftfuldt, professionelt programmeringssystem, der giver dig mulighed for hurtigt og effektivt at oprette applikationer til MS Windows . Da systemet er « visuel», en programmør kan skabe en synlig del af en MS Windows-applikation , uden at skrive næsten en enkelt linje kode. Det her synlig del er grundlaget for brugergrænsefladen « softwareprojekt - bruger », hvorigennem brugeren interagerer med softwareprojektet. Udvikling af både programkode til klasser og metoder til at løse problemet, og software interface ansøgninger udføres efter principperne objektorienteret tilgang , implementeret i Visual Studio .Net (VS) . Applikationer (projekter) kører under MS Windows vha Integreret udviklingsmiljø (IDE).

Til applikationer bygget med ved hjælp af IDE, karakteristisk træk er eksistensen på skærmen til enhver tid af mange objekter: formularer, vinduer, knapper, menuer, tekst og dialogbokse, rullepaneler osv. Brugeren har en vis (afhængigt af algoritmen for det problem, der skal løses) valgfrihed med hensyn til brugen af ​​disse objekter. Det kan han klik museknap, træk et objekt, indtast data i et vindue osv. I de fleste tilfælde forventes det ikke på forhånd etableret rækkefølge handlinger. Typisk udvikleren software (Software), når du opretter et softwareprojekt, bør ikke begrænse applikationsbrugerens handlinger. Han skal udvikle software, der reagerer tilstrækkeligt på enhver brugerhandling, selv ukorrekte (i et godt program bør der ikke være utilsigtede handlinger). Derfor er der for hvert objekt på skærmen en række mulige hændelser. Nogle af dem udføres af brugeren: klik eller dobbeltklik på en museknap, træk i et objekt, tryk på en tastaturtast, indtastning af tekst i et vindue osv. andre hændelser opstår som et resultat af andre hændelser: for eksempel åbner eller lukker et vindue, en kontrol bliver aktiv (tilgængelig) eller bliver inaktiv. Desuden manifesterer hver begivenhed sig i bestemte handlinger (svar, reaktioner, adfærd) software projekt. Disse handlinger kan opdeles i to grupper.



Den første er en konsekvens af objektets egenskaber. Disse egenskaber er indstillet af softwareudvikleren fra en bestemt standardliste over egenskaber specificeret af programmeringssystemet og/eller MS Windows selv . Et eksempel på sådanne handlinger er at minimere et vindue efter at have klikket på en knap Bryder sammen. Programmøren kan ikke ændre objektets adfærd i sådanne tilfælde. Men i mange tilfælde er der en vis mulighed for at variere et objekts respons på en begivenhed (tekst, skrifttype, farve, størrelse, placering på skærmen osv.) ved at indstille bestemte egenskaber.

Den anden gruppe af handlinger (svar) på hændelser er fuldstændig bestemt af softwareudvikleren. Dette sikres ved muligheden for at specificere en VB-procedure for hver mulig hændelse. Til at begynde med er hver sådan procedure tom uden et procedurelegeme, og derfor sker der intet, når en hændelse opstår. I teorien er det muligt at lave en procedure for enhver begivenhed, men i praksis udfylder programmøren kun kodeprocedurer for de begivenheder, der er af interesse.

Således giver VB brugeren et objektorienteret, hændelsesbaseret programmeringsmiljø. Kort sagt, processen med at udvikle et softwareprojekt i dette miljø kommer ned til at vælge et sæt af objekter og deres egenskaber, indstille hændelser og procedurer til at behandle dem og skabe software til at løse et problem, som tilsammen sikrer, at applikationen fungerer. oprettet.

De vigtigste vilkår for visuel programmering, som nævnt ovenfor, er et objekt, form, ejendom, klasse, begivenhed, procedure, metode osv., som har samme betydning i ethvert visuelt applikationsudviklingsmiljø.

Objekt– dette er en bestemt separat enhed, der adskiller sig fra andre entiteter ved særlige egenskaber, adfærd og interaktion med andre applikationsobjekter. Med en objektorienteret tilgang er enhver applikation et sæt af sammenkoblede objekter, der implementerer de nødvendige funktionelle krav til applikationen. Et objekt er altid konkret og eksisterer faktisk på en form (som kontroller) eller i en applikation (som forekomster af klasser).

Grundenheden i objektorienteret programmering er et softwareobjekt, som kombinerer både de data, der beskriver det (egenskaber) og midlerne til at behandle disse data (metoder). Det vil sige, at softwareobjekter har egenskaber, kan bruge metoder og reagere på hændelser.

Hovedobjekterne for visuel programmering er formen og dens kontroller.

Form ) er et objekt, der repræsenterer et vindue, hvorpå kontrolelementer er placeret, for eksempel en knap (Knap); Etiket (Etiket); Tekstfelt (Tekstboks); Afkrydsningsfelt (Afkrydsningsfelt); Liste (ListBox); Rulleliste (Kombinationsfelt); Kontakt (Radio knap) og osv .

Det visuelle programmeringsmiljø giver dig mulighed for at se objekter på skærmen på applikationsdesignstadiet og gør det muligt at tilpasse objekter ved at ændre deres placering, størrelse og andre egenskaber. Formen er beholder med genstande, og samtidig er sig selv også et objekt. Når du placerer et objekt på en formular, gemmes objektets hovedparametre i den eksekverbare programkode. I dette tilfælde er objekter også programblokke eller fragmenter af programkode (klasser, procedurer, metoder, moduler), hvorfra projektet (applikationen), der designes, er "samlet".

Objektegenskab er en værdi eller karakteristik lagret af et objekt. Samtidig bestemmer et objekts egenskaber dets tilstand. For eksempel, Tekst ( Tekst ) eller Farve ( Bagsidefarve ) former, metode Tekstjustering ( Justering ) eller Karakterfarve ( Forfarve ) tekstfelt er egenskaber. I et program tilgås et objekt efter objektnavn . Objektegenskaber kan indstilles i vinduet Ejendomme og ændre egenskaberne for objekter i programkoden.

I programkoden er der visse regler (et bestemt format) for indstilling af egenskaben − objektnavnet og egenskabsnavnet i henhold til reglerne for punktnotation er adskilt af en prik .

Klasse er en samling af objekter, der har fælles egenskaber og adfærd. For eksempel, Knap 1( Knap 1 ) Form 1(Formular 1 ) med alle dens specifikke egenskaber og handling er et objekt af klassen Knap . Klassen er karakteriseret ved sådanne grundlæggende begreber inden for objektorienteret programmering som:

· arv – et klasseobjekt har alle klassens egenskaber, metoder og hændelser;

· indkapsling – tilsløring af en genstands komplekse virkningsmekanisme;

· polymorfi – genstande forskellige klasser kan bruge metoder af samme navn, der fungerer forskelligt for forskellige objekter.

Samling af genstande er et sæt af objekter forenet med et fælles navn, og disse er ikke nødvendigvis objekter af samme klasse. Et eksempel på samlinger er samlingerne indbygget i VB, herunder:

· Formularer(Formularer) – et sæt downloadede ansøgningsskemaer;

· Kontrolelementer(Kontroller) – sættet af alle kontroller på formularen.

Navneområde er et hierarkisk klassebibliotek organiseret under unikke navne som f.eks System.Windows eller System.Matematik . For at få adgang til klasser og objekter baseret på dem, der er en del af et navneområde, kan operatøren placeres i begyndelsen af ​​programkoden Import . Hvert projekt i VS indeholder også et rodnavneområde. Navnerummet i VS-dokumentationen kaldes også klasses biblioteker .

Begivenhed er et middel til interaktion mellem objekter og hinanden. En hændelse kan oprettes af brugeren eller opstå som følge af påvirkning af andre softwareobjekter. Objekter kan generere hændelser og udføre handlinger som reaktion på specificerede hændelser. Eksempler på arrangementer – formularer , Klik ( Klik ) musen over objektet, DblKlik ( Dobbeltklik ) mus og andre . Som en reaktion på hændelser kaldes en hændelsesprocedure, som kan ændre objektets egenskaber, kalder det

På VB sprog , som i mange andre programmeringssprog designet til at skrive applikationer til MS Windows , Brugt
begivenhedsdrevet programmeringsmodel. Dette betyder i bund og grund, at ingen applikationer kan fungere alene uden at interagere med andre applikationer og operativsystemet. Lad os for eksempel tage det enkleste tilfælde, når kommandoen angives ved at trykke på en tast på tastaturet. Det kan ikke direkte påvirke nogen af ​​applikationerne og MS Windows I dette tilfælde fungerer som mellemmand. Efter at have modtaget en tastetrykhændelse beslutter operativsystemet, hvor behandlingen af ​​denne hændelse skal videresendes. Tastetryksmeddelelsen sendes derefter til applikationen. Applikationen behandler den ved at parse tastaturinput og viser meddelelsen, for eksempel i et aktivt tekstfelt.

Applikationer oprettet Med ved hjælp af VB , De arbejder efter samme princip. I dette tilfælde udfører VB så at sige internt arbejde. For eksempel, når der klikkes på en knap i en applikation, rejses en hændelse - VB opsnapper den tilsvarende MS Windows-meddelelse og rejser hændelsen Klik objekt Knap .

Bemærk, at i begivenhedsdrevne programmer, der er ingen kontinuerlig programkode, der kører fra start til slut. Dette betyder, at brugeren efter lancering af programmet ikke har en klar idé om den specifikke vej til udførelse af algoritmen. Det vil sige, at du til enhver tid kan klikke på en hvilken som helst knap i applikationen eller udføre for eksempel at indtaste tekst i et felt, eller du kan stoppe behandlingen, hvis du ønsker det. Derfor er applikationen tvunget til at vente, indtil en af ​​disse hændelser indtræffer, før den angivne programkode udføres. Dermed, en hændelse er altid påkrævet for at begynde at udføre programkode - dette er en af ​​de de vigtigste regler oprettelse af applikationer i MS Windows-miljø .

Svaret på begivenheder er et opkald begivenhedsprocedure , som tidligere er skabt af softwareudvikleren. Betydningen af ​​en sådan procedure er at udføre programmerede handlinger: at ændre et objekts egenskaber, kalde metoder, udføre beregninger i henhold til en given algoritme med udlæsning af resultatet i visse steder applikationer osv., hvis brugeren for eksempel trykker på en knap, så udføres en bestemt rækkefølge af handlinger som et svar, som defineres i hændelsesproceduren i overensstemmelse med en given algoritme.

Udover hændelsesprocedurer kan brugeren oprette generelle procedurer (brugerprocedurer).

Brugerprocedure er en komplet programkode, der implementerer en separat algoritme for det problem, der skal løses. En sådan procedure kaldes dog ved procedurens navn og ikke som følge af nogen begivenhed.

Metode er en procedure, der implementerer mulige handlinger med et objekt. Som et resultat af disse handlinger ændres noget i objektet. VB giver brugeren et stort antal indbyggede procedurer placeret i biblioteket, klar til brug. Disse procedurer er en integreret del af klassebiblioteket, det vil sige, de er metoder til klasser i .NET Framework.

Faciliteter proceduremæssig programmering(procedurer) - en integreret del af ethvert programmeringssprog på højt niveau, som er en af ​​hoveddelene af paradigmet moderne programmering. Men det var først med fremkomsten af ​​sprog, der understøttede objektorienteret programmering, at særlige typer indbyggede procedurer blev introduceret, kaldet metoder . Metoder "fungerer" som procedurer, men hører til specifikke objekter, ligesom egenskaber. I programkode kan du tilgå en metode på samme måde, som du kan tilgå en ejendom. ved hjælp af punktnotation.

I VB-miljøet kan du oprette egen procedurer, skabt af softwareudvikler .

Bemærk venligst, at enhver projektprogramkode skrevet ved hjælp af VB består af mange procedurer, det vil sige, at al programkoden er placeret inde i et sæt af underrutineprocedurer og funktionsprocedurer, og selve procedurerne er inde i en klasse (modul).

Underrutineprocedurer begynder med et nøgleord Sub Slut Sub, og funktionsprocedurer begynder med nøgleordet Fungere og slutter med nøgleord Afslut funktion , mellem hvilke programkoden for denne procedure er placeret. Programkoden for hver procedure består af en eller flere udsagn i VB-programmeringssproget.

Hændelseshåndteringsmetode er en komplet programkode, der implementerer en separat algoritme. For hver hændelse kan du programmere et svar, det vil sige objektets reaktion på hændelsen, der opstod; som et resultat vil en bestemt rækkefølge af handlinger blive udført - en metode til at behandle hændelsen.

Navnet på en begivenhedsprocedure består af tre dele (inklusive understregningen): Objektnavn_Begivenhedsnavn.

Hver gang du skriver kode, der skal udføres som reaktion på en hændelse, opretter du således en hændelsesprocedure, der kaldes automatisk, når den tilsvarende hændelse indtræffer (f.eks. trykkes der på en knap).

Operatør er en programmeringssprogkonstruktion, der specificerer en eller flere operationer , produceret over operander . Operander kan være konstanter, variabler, udtryk, funktioner osv. Enhver operatør er skrevet i overensstemmelse med de syntaktiske regler for programmeringssproget. For eksempel i opgaveoperatøren tegnet " = " læser "tildele" og betyder, at en værdi svarende til værdien af ​​udtrykket til højre for tegnet skrives til computerens hukommelse = " For eksempel linjen

Form4.1.Text = "Formular med billede" betyder, at i hukommelsen med navnet Form4.1.Tekst værdien er skrevet - tekst "Formular med billede", og linjen P=A+B+C bruges i et program til at evaluere værdien af ​​et udtryk og tildele det til en variabel R .

Projekt– dette er applikationen, der udvikles (applikationsprogramkode) – et sæt filer, der gemmer information om alle softwarekomponenter, der bruges i denne applikation. Da V.B. , på den ene side er det objektorienteret visuelt programmeringssystem, da det giver dig mulighed for at programmere algoritmer på dette sprog, og på den anden side er dette system software design miljø, så er resultatet af programmerings- og designprocesserne et projekt, der kombinerer programkode og en grafisk grænseflade. Derfor, for at brænde eller indlæse et softwareprojekt fra disk, skal du brænde eller indlæse projektet, som indeholder alle komponenterne (filerne). Typisk består en VB-applikation af mange filer, inklusive en projektfil, med udvidelsen .vbproj . En projektfil indeholder information relateret til én softwareopgave – én applikation.

Et projekt er også en kompileringsenhed. Resultatet af at sammensætte et projekt er en samling. Hvert projekt indeholder et eller flere navnerum. På indledende fase skabe et projekt til givet projekttype er automatisk bygget projektramme , bestående af klasser, der er arvtagere af klasser, der indgår i biblioteket FCL(Framework Class Library) - klassebiblioteker af .NET Framework-platformen. Så hvis en udvikler angiver, at han vil oprette et projekt som " Windows Forms-applikation", så vil standardprojektrammerne inkludere objektet Form 1– arving biblioteksklasse Form. Udvikleren af ​​softwareprojektet vil tilføje kontroller til den oprettede formular - objekter af de tilsvarende klasser, og derved udvide mulighederne for standardformularen.

Hvert projekt indeholder al den information, der er nødvendig for at bygge en samling. Projektet omfatter alle filer med klasser, der blev bygget automatisk på tidspunktet for projektets oprettelse, og filer med klasser oprettet projektudvikler. Projektet omfatter også installationer og ressourcer påkrævet til jobbet. En del af projektet er også en fil, der indeholder en beskrivelse af samlingen (manifest).

Afhængigt af den valgte type kan projektet være udført eller uimplementerbar. Udførte projekter omfatter for eksempel projekter som Konsolapplikation eller Windows Forms-applikation. Når man bygger skelettet af et igangværende projekt, inkluderer det en klasse, der indeholder en statisk procedure kaldet Main(). Som et resultat af at kompilere et sådant projekt, skaber det P.E.-fil – eksekverbar bærbar fil med filtypenavn .exe. Sådan P.E.-filen kan kun udføres på computere, hvor Framework .Net, fordi det er en administreret kodefil.

Ikke-eksekverbare projekter omfatter for eksempel projekter som
Klassebibliotek (DLL), som har en forlængelse. dll, og er dynamisk linket bibliotek, de der. disse projekter er beregnet til at blive inkluderet (koblet) ind i andre projekter. Som et resultat af at kompilere et projekt som
Klassebibliotek samlingen vil inkludere en fil med udvidelsen .dll. Sådanne projekter (samlinger) kan ikke udføres direkte på en computer. De er knyttet til udførende forsamlinger, hvorfra metoder af klasser placeret i det ikke-udførende projekt kaldes ( DLL).

Stadier af implementering af de enkleste projekter– kan opdeles i flere trin:

· oprettelse af en grafisk projektgrænseflade (brugergrænseflade), som skal sikre interaktion mellem projektet og brugeren under projektets drift;

· indstilling af værdierne for egenskaber for grafiske grænsefladeobjekter;

· oprettelse, redigering og fejlretning af projektkode;

gemme projektet til videre brug;

· projektgennemførelse.

Løsning er en applikation under udvikling, hvis filer indeholder oplysninger om et eller flere projekter, normalt relateret fælles tema. Løsningsfilen bruges til at administrere flere indbyrdes relaterede projekter og har udvidelsen .sln. Desuden er hvert projekt oprettet i VS placeret i én skal, kaldet Ved beslutning.

Når et nyt projekt er oprettet, kan det placeres i et eksisterende Løsning eller der kan oprettes en ny Løsning indeholdende projektet.

Så vær igen opmærksom på følgende:

Klasse er det centrale koncept for objektorienteret programmering. VB projektudvikler bruger standardklasser fra biblioteket FCL og opretter sine egne klasser. Desuden udfører klassen to forskellige roller:

· Klasse – for det første er dette et modul - en arkitektonisk enhed til at konstruere et projekt efter et modulært princip. At klare kompleksiteten i et stort projekt kan kun gøres ved at opdele det i moduler - relativt små enheder, der tillader selvstændig udvikling og efterfølgende integration i et større system.

· Klasse – for det andet er det en datatype, det vil sige en semantisk enhed, der beskriver egenskaberne og adfærden for et sæt objekter kaldet instanser af en klasse. Syntaktisk repræsenterer en klasse en beskrivelse af data kaldet klasse felter, beskrivelse klasse metoder og beskrivelse klassebegivenheder . For en klasse, der betragtes som en datatype, bestemmer felter objekternes tilstand, metoder bestemmer objekternes adfærd. Hændelser er nogle specielle tilstande, som et objekt kan være i, og som kan håndteres af hændelseshandlere uden for klassen. Altså for eksempel et objekt i klassen HUMAN kan have begivenheden" Fødselsdag"og hver af lederne af denne begivenhed kan bringe deres lykønskninger til objektet ved denne lejlighed.

Typisk spiller klasser begge roller. Men i VB kan du definere klasser, der kun spiller rollen som et modul. Det her moduler , som det er umuligt at skabe objekter til.

Fed stil programmering kræver, at hver klasse er gemt i separat fil, hvis navn ville være det samme som klassenavnet. Dette er et stilkrav, som måske ikke opfyldes i praksis. I vores eksempler vil vi forsøge at opretholde denne stil.

Ved at definere en klasse er projektudvikleren i stand til dynamisk at skabe klassens objekter. For programmører, der begynder at arbejde i objektstilen, typisk fejl er en forveksling mellem begreberne objekt og klasse. Du skal forstå forskellen fra begyndelsen. En objektklasse oprettet af udvikleren repræsenterer statisk beskrivelse mange genstande. Et objekt er et dynamisk koncept; det skabes under udførelsen af ​​et softwaresystem, eksisterer faktisk i computerens hukommelse og forsvinder normalt, når projektet er afsluttet. Projektudvikleren kan oprette software system, inklusive to eller tre klasser, men under driften af ​​et sådant system kan hundredvis af objekter dynamisk dukke op, der interagerer med hinanden på en kompleks måde.

VS hovedvindue

Bemærk, at processen med at oprette en simpel applikation i VS-miljøet vil blive beskrevet detaljeret i det følgende Emne 4.2, såvel som i laboratoriearbejde Ved Emne 4.1."Visual Studio .NET integreret udviklingsmiljø." Bliv nu bekendt med grænsefladen i VS-miljøet.

Lancering MS Visual Studio.

Skærmen vises hjemmeside - MS VS ( ris. 4.1.2-1).

Der er flere hovedpaneler i dette vindue: Standard menu , vindue Standard værktøjslinje vindue Hjemmeside anits EN, vindue Solution Explorer, vindue Elementer panel.

Ris. 4.1.2-1. Hjemmeside -Microsoft Visual Studio

Det skal bemærkes, at når du arbejder med VB i VS integrerede udviklingsmiljø, kan du bruge både standard værktøjslinjeknapperne og hovedmenupunkterne placeret øverst på skærmen.

VS giver brugeren en række værktøjslinjer. Disse værktøjslinjer indeholder knapper, hvis funktionalitet afhænger af den specifikke værktøjslinjes funktionalitet.

Vindue hjemmeside giver dig mulighed for at åbne nyligt brugte projekter, søger efter eksempler, indeholder forskellige links til websteder, der kan hjælpe dig med at arbejde med VS . Derudover, mens du arbejder med projektet, vil forskellige vinduer blive vist i stedet for den første side, for eksempel vinduet Form designer, vindue Kode editor og osv.

I vinduet Solution Explorer Filerne for de(n) aktuelle løsning(er) vises. Dette vindue bruges til at få detaljerede oplysninger om objekter . Det giver dig mulighed for at søge og udforske elementer, deres egenskaber, metoder, begivenheder placeret i projekter og links til dem.

Værktøjer designet til at lette applikationsudvikling inkluderer også vinduet Elementer panel, visning af kontroller, der bruges i VB-projekter .

Brug dialogboksen for at oprette et nyt projekt
Opret et projekt(Fig. 4.1.2-2). For at åbne den skal du gøre et af følgende:

· udføre kommando Opret et projekt fra hovedmenuelementet – Fil;

· tryk på knappen Opret et projekt, placeret på standardværktøjslinjen.

Ris. 4.1.2-2. Dialogvindue Opret et projekt

I VB kan du oprette applikationer ved hjælp af forskellige skabeloner. I denne vejledning vil vi kun bruge skabelonen Windows Forms-applikation.

Denne applikation er designet til at skabe traditionelle Windows-applikationer, hvor brugergrænsefladen er designet ved hjælp af MS Windows Forms. Desuden kan du indstille visse egenskaber for formen af ​​denne skabelon og placere forskellige kontroller på den.

Lad os tage et eksempel på de grundlæggende trin, der kræves for at oprette et projekt Windows Forms-applikation.

Eksempel 4.1.2-1. Opret et projekt med navnet Eksempel 4.1.2-1 og en grafisk grænseflade bestående af en formular med en knap og et tekstfelt. Når du trykker på knappen, skulle "Hello, MTUSI!" vises.

Projektform Eksempel-4.1.2-1 kan se ud som i fig. 4.1.2-3.

Ris. 4.1.2-3. Projektets grafiske grænseflade (Form).Eksempel 4.1.2-1

At gennemføre projektet Eksempel 4.1.2-1 følgende trin er påkrævet:

1) Start VS.

2) Opret et nyt projekt:

Fil og kør derefter kommandoen Opret et projekt;

· vælg en projektskabelon Windows Forms-applikation .

Som et resultat åbnes et vindue Form1.vb[Konstruktør]Formularbygger(som angivet af den tilsvarende fane), som giver dig mulighed for at implementere en grafisk grænseflade til applikationen.

· vælg et hovedmenupunkt Fil og kør derefter kommandoen Gem alle ;

Som et resultat åbnes en dialogboks Gem projekt;

· indtast i feltet Navn navnet på projektet Eksempel-4.1.2-1(som standard kalder VB-miljøet det WindowsApplication1), og indtast derefter i feltet Navn på lokalitetsmappe, hvor projektet skal ligge, eller brug knappen Anmeldelse for at søge efter det ønskede bibliotek (fig. 4.1.2-4);

· klik på knappen Gemme ;

Som et resultat vil udviklingsmiljøet se ud som i fig. 4.1.2-5.

Ris. 4.1.2-5. Udviklingsmiljø

Visual Studio Panel Windows

Panel vindue hjemmeside(Fig. 4.1.1-1) giver dig mulighed for at se nyligt brugte projekter, søge for eksempel programmer, både fra hjælp og internettet, og også se links til websteder, der indeholder nyheder om VS-produktet , dokumentation, tutorials.

Ris. 4.1.4-1. PanelvindueFormularbygger og dens kontekstmenu

Startsiden åbnes automatisk, når du starter VS . Hvis vinduet hjemmeside ikke vises, kan den kaldes ved hjælp af kommandoen hjemmeside hovedmenupunkt Udsigt.

Panel vindue Form1.vb[Constructor] (Form Constructor)
Hovedvindue
er Hovedarbejdsvindue , hvori det udføres visuelt design applikationer (fig. 4.1.4-1). Du kan få vist dette vindue på skærmen ved at klikke på fanen Form1.vb[konstruktør] eller Dobbeltklik på formularens navn i vinduet Solution Explorer.

I vinduet Form designer Alle former for applikationen skabes visuelt ved hjælp af udviklingsmiljøværktøjerne. Du kan bruge et gitter til præcist at placere objekter på en formular i et vindue.

Størrelsen på formularen i vinduet kan ændres ved hjælp af formvalgshåndtagene og musen. For at ændre størrelsen på formularen skal du placere musemarkøren på markøren og flytte den til den ønskede størrelse, når den ændres til en dobbelthovedet pil.

Til arbejde i et vindue Form1.vb[konstruktør] du kan bruge kontekstmenuen (fig. 4.1.4-1).

Ris. 4,1-2. Panel vindueKode editorbåde hende og kontekstmenuen

Panel vindue Form1.vb (Kode editor)- det er kraftfuldt tekst editor Med stort beløb capabilities, som er programmørens hovedværktøj til at skabe og fejlfinde programkode. Den kan også placeres i Hovedarbejdsvindue(Fig.4.1-2) .

Panel vindue Solution Explorer og dens kontekstmenu er vist i fig. 4.1.4-3.

Ris. 4.1.4-3. Panel vindueSolution Explorer og dens kontekstmenu

Panel Kontrolelementer grupperet efter sektioner
(Fig. 4.1.4-4). For at oprette ydelsesskemaer har du primært brug for et afsnit Standard kontroller ( ris. 4.1.4-5).

Panel vindue Ejendomme er beregnet til at vise og indstille egenskaberne for projektobjekter, herunder formen og de objekter, der er placeret i den. Dette vindue indeholder for eksempel sådanne egenskaber for det valgte objekt som position i form, højde, bredde, farve og andre (fig. 4.1.4-6).

For at åbne en dialogboks Ejendomme Du bør gøre et af følgende:

· i hovedmenuelementet Udsigt vælge et hold Egenskaber vindue;

· klik på knappen Egenskaber i vinduet på standarden
værktøjslinjer;

· vælg et hold Ejendomme kontekstmenu valgt objekt;

· tryk på en tastaturtast .

Ris. 4.1.4-4. Elements panel vindue 4.1.4-5. Panel

kontroller grupperet efter sektioner (standardelementer)

Ris. 4.1.4-6. Panel vindueEjendomme

Da formularen og kontrolelementerne hver for sig er objekter i sig selv, ændres sættet af egenskaber i dette vindue afhængigt af det valgte objekt. Brug af knapper I alfabetisk rækkefølge Og
Efter kategori objektegenskaber kan ses i alfabetisk rækkefølge eller efter grupper (kategorier).

Et værktøjstip vises nederst i vinduet, der forklarer formålet med den valgte objektegenskab. En mere detaljeret forklaring kan findes i hjælpesystemet. Du kan også bruge dynamisk hjælp ved at vælge det ønskede emne i vinduet Dynamisk hjælp.

Brug af dialogboksen Ejendomme, Du kan ændre standardegenskaberne for objekter. Nogle objektegenskaber, for eksempel dimensioner og placering, kan indstilles ved at flytte objektet og ændre dets dimensioner ved hjælp af musen i formulardesigneren. Egenskaber indstillet i vinduet Egenskaber kan ændres, mens programmet kører, ved at skrive passende koder i procedurer, der er oprettet ved hjælp af kodeeditoren.

Typisk indeholder en formular mange objekter. Hvis du vælger flere objekter på én gang, så kan du i egenskabsvinduet se de egenskaber, der er fælles for disse objekter.

4.1.5. Opsætning af integrerede indstillinger
udviklingsmiljø

Værktøjsvinduer, referencesystem, er compilerparametrene for VS-udviklingsmiljøet let og meget fleksibelt konfigureret.

De følgende trin viser, hvordan du ændrer udviklingsmiljøindstillingerne i VB, som det anbefales at udføre praktisk arbejde:

1) I et hovedmenupunkt Service udføre kommando Import og eksport af indstillinger. Du kan bruge guiden, der vises, til at gemme dine miljøindstillinger til brug på en anden computer, indlæse indstillinger fra en anden computer eller nulstille indstillinger - den mulighed, du skal vælge nu.

2) Vælge Nulstil alle indstillinger, og klik derefter på knappen Yderligere. VS vil spørge, om du skal gemme de aktuelle indstillinger i en fil, før du konfigurerer. Skal altid gemmes sikkerhedskopi deres nuværende indstillinger så der er mulighed for at vende tilbage til dem, hvis de nye indstillinger viser sig at være "ubelejlige".

3) Kontroller, at indstillingen er valgt Ja, og vær opmærksom på fil- og mappenavnet, hvor VS skal gemme disse indstillinger.

4) Hvis du skal vende tilbage til disse indstillinger, skal du bruge den samme guide og mulighed for at gendanne dem Importere valgte miljøindstillinger.

5) For at se en liste over standardindstillinger, der bruges til VS, skal du klikke på knappen Yderligere.

6) Klik på Muligheder for VB udvikling, og klik derefter på knappen Parat.

7) Guiden skifter IDE-indstillinger, herunder menukommandoer, værktøjslinjer og indstillinger for nogle dialogbokse, vinduer Værktøjer Og Kode editor.

8) Du kan gentage denne opsætningsproces, når som helst du har brug for at nulstille dine nuværende indstillinger (f.eks. hvis du lavede en fejl i indstillingerne), eller hvis du vil konfigurere VS til at bruge et andet programmeringsværktøj.

9) Klik på knappen for at lukke guiden Tæt.

Hvis miljøindstillingerne for at arbejde med VB er konfigureret, kan du udføre opgaver. Men hvis de er blevet ændret, skal du gøre det følgende handlinger, så du kan kontrollere, at indstillingerne forbundet med projekter og VB-kompileren svarer til dem, der bruges i praktisk arbejde. Gør følgende for at kontrollere projekt- og compilerindstillingerne:

1) Klik på kommandoen Muligheder menupunkt Service og åbne en dialogboks Muligheder.

2) Dialogvindue Muligheder er vinduet, der indeholder mange af VS's indstillingsmuligheder. For at se alle de parametre, der kan ændres, skal du klikke på afkrydsningsfeltet Vis alle muligheder placeret i nederste venstre hjørne af dialogboksen.

3) I dialogboksen Muligheder klik på kategori Projekter og løsninger og så på afsnittet Er almindelige. Denne gruppe af afkrydsningsfelter og muligheder konfigurerer indstillinger for VS-projekter og -løsninger. For at sikre, at softwaren matcher de indstillinger, der bruges i denne vejledning, skal du konfigurere og

Under udvikling applikationsprogrammer ser ud til nyttig skabelse GUI. Faktisk er dette skabelsen af ​​et miljø til beregning af problemer i en bestemt klasse uden programmering fra brugerens side. Som regel giver det mening at udvikle sådanne grænseflader til problemer med flere parametre, hvis lignende problemer forventes at blive løst gentagne gange. I dette tilfælde er det tilrådeligt at udvikle en grafisk grænseflade, der hjælper brugeren med at opnå resultaterne af at løse problemet (normalt i grafisk form) for et bestemt valg af parametre. En sådan grænseflade kan også være praktisk, når du opretter pædagogiske opgaver, fordi eleven i dette tilfælde bruger hovedopmærksomheden ikke på at programmere eller løse problemet, men på at vælge de nødvendige parametre, analysere og forstå de resulterende resultater.

Fra ovenstående korte introduktion er det klart, at de obligatoriske elementer i en grafisk grænseflade ved løsning af videnskabelige og/eller uddannelsesmæssige problemer bør være:

1. Et eller flere vinduer til visning af grafiske beregningsresultater.

2. Flere redigerbare vinduer, hvormed du kan indstille og/eller ændre værdierne for opgaveparametre.

3. Kontrolknapper, der giver dig mulighed for at starte og stoppe beregningsprocessen, gentegne resultaterne og afslutte opgaven.

4. Forklarende noter (statisk tekst).

Selvfølgelig er andre kontroller mulige, såsom rullelister, radioknapper til at vælge en af ​​mange muligheder osv., men i denne tutorial vil vi kun se nærmere på de fire nævnte typer. Figur 8 viser enkleste grænseflade, skabt til at studere de slag, der dannes ved tilføjelse af to harmoniske svingninger med lignende frekvenser. Som det kan ses af figuren, er alle de ovennævnte elementer til stede i den.

For at oprette en sådan grænseflade kan du bruge de grafiske output-funktioner samt en speciel funktion designet til interaktiv brugerinteraktion med tegningen. Denne funktion kaldes uicontrol. Men for at forenkle arbejdet og skabelsen elementer af samme type interface i MATLAB-systemet er tilgængelig særligt program, som giver dig mulighed for at oprette de nødvendige elementer på niveau med visuel programmering, næsten uden at skrive kode.

Ris. 8. Den enkleste grafiske brugergrænseflade til at løse "Beat"-problemet

9.1. Oprettelse af udseendet af grænsefladen

I dette afsnit vil vi se på at bruge MATLAB til at udvikle udseendet af en grafisk grænseflade (GUI -GraphicsUserInterface) ved hjælp af grafiske (visuelle) programmeringsværktøjer. For at kalde den visuelle editor skal du indtaste guidekommandoen i MATLAB-kommandovinduet. Efter en vis tid, bestemt af din computers hastighed, vil to nye vinduer dukke op, vist i fig. 9. En af dem er kontrolpanelet (kontrolpanel, i figuren til venstre) og formularen eller tegningsområdet (figur, i figuren til højre). Disse vinduer kan overlappe hinanden, men vi har placeret dem side om side for at gøre præsentationen klar. Billedet vist ovenfor vises på skærmen, hvis der ikke er et åbent billede før opkald guide. Hvis guidefunktionen kaldes efter at have tegnet et billede, åbnes den i stedet for en tom. Vi vil se på at skabe en grafisk grænseflade helt fra begyndelsen.

Før du opretter en GUI, er det tilrådeligt at "blueprinte", hvad du vil have som grænseflade. Vi vil se på et eksempel på udsendelse af tre forskellige signaler i tre undervinduer, som med hensyn til grafik på højt niveau ville blive defineret af operatørens subplot(3,1,k), hvor k er plotnummeret. Udover,

Ris. 9. Generel form visuel grafisk redaktør og redigeringsvinduer

til højre for selve karmene med grafer ønsker vi at have tre redigerbare

felter, hvor du kan indtaste/redigere numeriske værdier på tre

variabler. Lad disse variable tage vilkårlige værdier.

I denne præsentation vil vi ikke udstyre vores redigerbare vinduer med kontrol

om de indtastede værdier opfylder nogen betingelser, selvom dette er muligt

Kan. Lad os kalde disse variable N, R, C. In i dette eksempel betydningsberegning

strøm i RC-kredsløbet, når et signal med nummer N tilføres terminalerne, og R og C er modstand

spænding og kapacitans i kredsløbet ( Detaljeret beskrivelse opgaver se afsnit 10 i hovedsagen

manuel tekst).

Vores grænseflade skulle tillade at ændre værdierne

værdier af N, R og C, opnås i tre placeret

det ene over det andet undervinduer signal (spænding,

leveres til terminalerne), afledt af signalet

la og modstandsspænding U r . Udover

vinduer til visning af grafer og redigerbare vinduer

R u n E x i t

input skal placeres på interfacepanelet

der er yderligere to knapper - KØR - start programmet på

Ris. 10. Interface visning

konto og EXIT - opsigelse og sletning

grafik vindue.

I den første fase er det nødvendigt at udvikle sig udseende interface. Lad det være

Ifølge vores foreløbige skitse skulle grænsefladen se omtrentlig ud

som følger (fig. 10). Elementerne i denne grænseflade er tre vinduer

grafoutput (akser i kontrolpaneltermer), tre statiske indskrifter N, R, C(tekst), tre dataindtastnings-/redigeringsvinduer (rediger) og to knapper (tryk).

For at oprette undervinduer, hvori graferne vil blive vist, skal du bruge knappen vist til højre i figuren (vindue og akser). Ved at klikke på dette element på kontrolpanelet og flytte musen til tegnepanelet, skal du sætte et kryds, som vil være på spidsen af ​​musen, mens

det sted, hvor det øverste venstre hjørne af det første undervindue skal være. Ved at klikke og holde venstre museknap nede, skal du trække det resulterende rektangel ud til den ønskede størrelse. Herefter gentages proceduren for konstruktion af de to andre vinduer på lignende måde.

For at oprette redigerbare inputvinduer skal du bruge redigeringsknappen vist til højre. Det bruges på samme måde som når man laver karme med økser. Først vises en mus fyldt med et kryds, hvormed et inputrektangel er konstrueret.

Etiketter på tegnepanelet oprettes ved hjælp af tekstknappen, som flyttes og justeres på samme måde som beskrevet ovenfor. For at en form for tekst skal vises inde i det statiske tekstområde

inscription, skal du arbejde med ejendomseditoren, som kaldes enten ved hjælp af knappen Property editor, eller ved at dobbeltklikke med venstre museknap på det tilsvarende objekt i tegnepanelet.

For at oprette og placere knapper skal du bruge panelet mærket Push. Metoden til at placere en knap og vælge dens størrelse er fuldstændig den samme som metoden beskrevet ovenfor for redigeringsvinduet og det statiske tekstvindue.

Output- og redigeringsvinduerne, statiske tekstvinduer og knapper samt andre objekter konstrueret på denne måde kan justeres, og visse mellemrum mellem dem kan indstilles ved hjælp af justeringspanelet (Alignment Tools).

For at gøre dette skal du klikke på den tilsvarende knap på kontrolpanelet, og justeringspanelet vises. For at angive et antal objekter, som alle handlinger skal udføres med, skal du vælge dem ved at klikke på hver af dem, mens du holder Shift-tasten nede. Udvalgte objekter er markeret

sorte prikker omkring de tilsvarende objekter. Hvis du skal ændre størrelsen på et objekt (knapper, vinduer osv.), skal du klikke på dette objekt med venstre museknap og bruge musen til at ændre den ønskede størrelse på samme måde som størrelsen af ​​evt. Windows vinduer.

Når du arbejder med grafiske objekter i tegnepanelet, er det tilrådeligt at udvide (ved hjælp af den tilsvarende Windows vinduesknap) tegnepanelet til fuld skærm og vælge størrelsen på alle objekter i tegnepanelet.

Da størrelserne på alle objekter som standard er angivet i pixels, kan dette føre til, at når man ændrer størrelsen på outputvinduet, kan knapper og/eller vinduer kollidere med hinanden. For at undgå et sådant uønsket fænomen er det nødvendigt at indstille størrelsesenhederne for alle objekter i dimensionsløse variabler - brøkdele af vinduesstørrelsen. Denne størrelse kaldes normaliseret. For at gøre dette skal du ringe til ejendomsredaktøren ved at klikke på knappen med den øverste knap på kontrolpanelet.

ved at skrive til Ejendomsredaktør. Fremhævelse i øverste vindue egenskabseditor, alle de objekter vi har indtastet (ved at bruge Ctrl-tasten holdt nede og vælge objekter med venstre museknap), i det nederste vindue i egenskabseditoren finder vi egenskaben Units (måleenheder) og vælger den ved at klikke på venstre museknap. Herefter vil egenskaben Units i den midterste del af editoren dukke op i et særligt vindue til venstre, og et værdivalgsvindue til højre, som indeholder en rulleliste med gyldige egenskabsværdier. Egenskaben Units skal indstilles til normaliseret. På samme måde skal du indstille værdien af ​​FontUnits-egenskaben – enhederne for skriftstørrelse. Dette sikrer, at skriftstørrelsen ændres, når vinduesstørrelsen ændres.

For at placere etiketter på knapper og i det statiske tekstområde skal du vælge det tilsvarende objekt (enten ved at dobbeltklikke direkte i tegneområdet eller i det øverste vindue i egenskabseditoren) og i det nederste vindue i egenskabseditoren , find egenskaben String, og efter at have valgt den, indtast den påkrævede tekst mellem anførselstegnene (f.eks. 'Start' på den tilsvarende knap). For at sætte etiketter over hvert af outputvinduerne skal du vælge det tilsvarende vindue og kalde egenskabseditoren8, i det nederste vindue du skal finde egenskaben Titel.

8 Egenskabseditoren kan kaldes ikke kun ved hjælp af knappen på kontrolpanelet, men

og dobbeltklik på det tilsvarende objekt.

Anmærkning: Vi studerer widgets - de visuelle elementer, der udgør den grafiske brugergrænseflade, deres layout, størrelsespolitik, signal-slot-forbindelser, grafiske grænsefladeelementer og deres brug.

13.1 Widgets

Widgets er de visuelle elementer, der udgør den grafiske brugergrænseflade.

Eksempler på widgets:

  • Knap (klasse QPushButton);
  • Label(klasse QLabel);
  • Indtastningsfelt (klasse QLineEdit);
  • Numerisk tællerfelt (QSpinBox-klasse);
  • Rullebjælke (klasse QScrollBar ).

Qt har omkring 50 færdiglavede klasser grafiske elementer tilgængelig til brug. Forælderklassen for alle widgets er QWidget-klassen. Alle de vigtigste egenskaber ved visuelle elementer er arvet fra det, som vi nøje vil overveje. Lad os begynde at udforske måder at udvikle programmer med en grafisk grænseflade med et eksempel.

Lad os oprette en tom projektfil. Start projektguiden, og vælg elementet i afsnittet Projekter Andet projekt. Vælg derefter projekttypen Tomt Qt-projekt. Lad os tilføje indholdet til projektfilen:

Skabelon = app #Qt moduler, som vi vil bruge QT += widgets #Tilføj widgets modulet til at arbejde med widgets (nødvendigt for Qt5). TARGET = widget#Navn på den eksekverbare fil KILDER += \ main.cpp

Lad os nu skabe et simpelt program med et vindue, hvor vi vil vise inskriptionen. Lad os indstille størrelsen på vinduet og teksten til dets titel, og også indstille skrifttypen til inskriptionen. For at gøre dette skal du oprette en fil main.cpp med følgende indhold:

#omfatte #omfatte int main (int lArgc, char * lArgv ) ( //Opret et QApplication-objekt, der initialiserer og konfigurerer vinduesprogrammet, //styrer dets udførelse ved hjælp af QApplication-hændelsesløkken lApplication (lArgc, lArgv); QLabel lLabel; //Create a QLabel widget - etiket lLabel.setText ("Jeg er widget!"); //Indstil teksten for etiketten lLabel.setGeometry (200, 200, 300, 150); //Indstil dimensionerne - position (x, y), bredde og højde. Indstil justeringsteksten lLabel.setAlignment (Qt::AlignHCenter | Qt::AlignVCenter); //QFont-klassen bruges til at indstille skrifttypeparametre. //Vælg Arial Black-skrifttypefamilien og størrelse 12. QFont lBlackFont (" Arial Black", 12); lLabel. setFont (lBlackFont); //Indstil skrifttypen for etiketten lLabel.show (); //Kald show()-metoden for at vise etiketten på skærmen. return lApplication.exec () ; //Kør programmet for at udføre exec() udfører //en loop hændelsesbehandling. Programmet venter på brugerhandlinger og behandler dem.)

Som vi kan se, har de elementer, der udgør grænseflader i Qt, deres egen position og størrelse - den såkaldte "geometri" - og optager dermed et tilsvarende rektangulært areal på skærmen (se fig. 13.1). Hvert element har også indstillinger, der bestemmer dets adfærd og udseende.


Ris. 13.1.

For at skabe en struktur er widgets organiseret i et hierarki efter "del - hel"-princippet. Hver widget kan indeholde andre widgets. Sådan visuelt element bliver "forælder" (overordnet widget) for de elementer, den indeholder. Bemærk, at sådanne relationer ikke skal forveksles med arv i C++ - relationer mellem klasser i et program. Relationer mellem widgets er relationer mellem objekter. Sådanne forhold giver anledning til flere konsekvenser:

  • det overordnede element vil være ansvarligt for at slette det underordnede element: hvis det overordnede widget slettes, vil det automatisk slette alle underordnede elementer;
  • overordnede widget placerer underordnede widgets i sig selv, dele af underordnede widgets, der strækker sig ud over forælderen, vil være usynlige;
  • en del af tilstanden for den overordnede widget videregives til dens børn - dette gælder for nogle egenskaber (synlighed, aktivitet) og stilarter, der anvendes på det visuelle element.

Widgets, der ikke har en forælder (widgets på øverste niveau), ser ud separate vinduer i et program. Lad os se på et eksempel. Lad os navngive det nye projekt ParentExample. Projektfilen vil indeholde de sædvanlige indstillinger for et GUI-projekt:

TEMPLATE = app MÅL = ParentExample QT += widgets

For den widget, som vi vil bruge som hovedvindue, vil vi oprette en ny klasse. For dette i kategorien Filer og klasser Lad os vælge C++ sektionen og vælge C++ Class (se Fig. 13.2).

Det næste trin er at oprette flere elementer på vinduet. For at gøre dette skal du åbne filen parentwidget.cpp og ændre klassekonstruktørkoden. For at vise elementer skal du bare oprette dem i klassekonstruktøren og indstille ParentWidget som overordnet for dem. parentwidget.cpp-koden ser sådan ud:

#include " parentwidget.h " #include #omfatte #omfatte ParentWidget::ParentWidget (QWidget * parent) : QWidget (parent) ( //Opret en etiket, der angiver den overordnede widget - dette, det vil sige en forekomst af ParentWidget-klassen. QLabel * lLabel=ny QLabel (this); //Position i forhold til venstre øverste hjørne forældre-widget. lLabel ->setGeometry (50, 0, 100, 30); lLabel ->setText(" TekstLabel "); //Tekst på etiketten. //Opret en knap, indstil "forælder", geometri og tekst QPushButton * lPushButton = ny QPushButton (dette); lPushButton->setGeometry(50, 50, 100, 30); lPushButton->setText(" PushButton "); //Opret et inputfelt, indstil "forælder", geometri og tekst QLineEdit * lLineEdit = new QLineEdit (dette); lLineEdit ->setGeometry (50, 100, 100, 30); lLineEdit ->setText(" LineEdit "); lLineEdit ->selectAll(); //Vælg teksten i inputfeltet (bare for eksempel) //Til sidst ændre størrelsen på det overordnede widgetsætGeometri (x(), y(), 300, 150); //og indstil vinduets titel tekst setWindowTitle (" overordnet widgetExample "); )

Da det overordnede element er ParentWidget , er etiketten (QLabel), knappen (QPushButton) og tekstfeltet (QLineEdit) inden for den. Placeringen af ​​underordnede widgets indstilles i forhold til det øverste venstre hjørne af faderen. Du kan nemt verificere dette ved at ændre størrelsen og placeringen af ​​vores programvindue. Bemærk, hvordan vi oprettede UI-elementerne på heapen ved hjælp af ny operatør. Dette sikrer, at elementer ikke fjernes, efter at ParentWidget-konstruktøren er fuldført.

Regel 2: Reducer brugerbyrden

Regel 3: Gør grænsefladen kompatibel

Retningslinier

Tidy Start Menu-program

Konklusion

Litteratur

Introduktion

"Den gyldne regel for design er: "Gør aldrig mod andre, hvad de gjorde mod dig." Husk, hvad du ikke kan lide ved den software, du bruger. Og gør ikke det samme i det program, du arbejder på. ”

Tracy Leonard

Hvorfor skal du følge principperne for design af brugergrænseflader?

Softwaren skal udvikles under hensyntagen til brugerens krav og ønsker – systemet skal tilpasse sig brugeren. Derfor er designprincipper så vigtige.

Computerbrugere kan få succesfulde oplevelser, der indgyder tillid til deres evner og opbygger højt selvværd, når de arbejder med en computer. Deres handlinger med computeren kan karakteriseres som "succes avler succes." Hver positiv oplevelse med programmet giver brugeren mulighed for at udvide deres kendskab til softwaren og øge deres kompetenceniveau. En veldesignet grænseflade, som en god lærer og lærebøger, sikrer en frugtbar interaktion mellem brugeren og computeren. Succesfulde grænseflader kan endda hjælpe en person med at komme ud af den sædvanlige cirkel af programmer, han bruger, og opdage nye, uddybe hans forståelse af, hvordan grænseflader og computere fungerer.

Interfacedesignprincipper er koncepter og synspunkter på højt niveau, der kan bruges i softwaredesign. Du skal afgøre, hvilket princip der er vigtigst og acceptabelt for dit system.

Når du starter design, er det nødvendigt at fremhæve det vigtigste princip, som vil være afgørende, når man leder efter kompromiser. At prøve at følge alle designprincipperne kan føre til, at det i nogle situationer ikke kan betale sig og har en negativ indvirkning på det endelige resultat. Principper er en guide til handling.

De tre principper for brugergrænsefladedesign er formuleret som følger:

1) brugerkontrol af grænsefladen;

2) reduktion af brugerhukommelsesbelastning;

3) Konsistens af brugergrænsefladen.

Hvor finder man principper for brugergrænsefladedesign

Hansen præsenterede den første liste over designprincipper. Principperne er:

1) kender brugeren;

2) reducere memorering;

3) optimere driften;

4) eliminere fejl.

Mange store producenter af operativsystemer udgiver relevante manualer og instruktioner, når de frigiver deres nye produkter på markedet. Disse publikationer afslører principperne for tilgangen til interfacedesign. Manualerne er produceret af Apple Computer, Inc. (1992), IBM Corporation (1992), Microsoft Corporation (1995) og UNIX OSF/Motif (1993).

Læsere kan bruge disse publikationer som et læremiddel. Interfaceterminologien kan variere mellem manualerne, men materialets fokus, kompleksitetsniveauet og de beskrevne brugergrænsefladeprincipper er de samme for alle bøger.

Vigtigheden af ​​at følge principper

"Grænsefladeinkompatibilitet kan koste en stor virksomhed millioner af dollars i tabt produktivitet og øgede omkostninger. teknisk support"- Jessie Briest.

Disse principper gælder for al software og hardware, i alle typer og stilarter af grænseflader. De blev udviklet over temmelig lang tid: forskning blev udført inden for softwaregrænsefladen, udviklinger blev udført, brugere af mange computerplatforme, herunder Macintosh og PC.

Disse principper har bestået tidens prøve og fremkomsten af ​​nye. computerteknologi. Jakob Nielsen bemærkede: "Principperne vil forblive grundlæggende, selvom programmet har et futuristisk 3D-design med en DataGlove til input, bevægelsesgenkendelse og live videobilleder. De vil være relevante, fordi de udtrykker den grundlæggende idé om dialog med maskinen vha. kommandoer.” .

Fortolkningen af ​​disse principper vil afhænge af hardware, operativsystem, komponenter i brugergrænsefladen og dens opgaver. Ofte tilsidesætter forretningsbeslutninger designernes brug af principper. Bruger- og designermodeller er også forskellige og har indflydelse på, hvordan principperne vil blive anvendt. På nogle vigtige stadier Under udviklingen af ​​et projekt kan spørgsmålet opstå: "Hvad sker der så?" Svaret bør være: "Uanset hvad brugeren vil have!"

Beslutningen om at vælge de optimale principper for opbygning af en grænseflade bør udvikles i fællesskab af alle medlemmer af designteamet. Disse løsninger skal bidrage til at forbedre købbarheden og udviklingen af ​​softwareprodukter.

Brugergrænsefladedesignregler

"Gør det enklere, men ikke mere primitivt."

Albert Einstein

Regel 1: Giv brugeren kontrol

Erfarne designere giver brugerne mulighed for at løse nogle problemer efter eget skøn. Arkitekter skal efter færdiggørelsen af ​​opførelsen af ​​et komplekst kompleks af bygninger lægge stier for fodgængere mellem dem. De ved endnu ikke præcis, hvor folk vil krydse webstederne. Derfor anlægges der aldrig stier samtidig med opførelse af bygninger. Skilte er placeret på områderne mellem husene med inskriptionen: "Gå venligst på græsset." Efter nogen tid vender bygherrerne tilbage og fylder først nu, ifølge befolkningens "vilje", de trampede stier med asfalt.

Principper, der giver brugeren kontrol over systemet:

1) brug tilstandene klogt;

2) give brugeren mulighed for at vælge: arbejde enten med en mus eller et tastatur eller en kombination af begge;

3) tillade brugeren at fokusere opmærksomheden;

4) vis beskeder, der vil hjælpe ham i hans arbejde;

5) skabe betingelser for øjeblikkelige og reversible handlinger, samt feedback;

6) sørge for passende stier og udgange;

7) tilpasse systemet til brugere med forskellige niveauer forberedelse;

8) gøre brugergrænsefladen mere forståelig;

9) give brugeren mulighed for at tilpasse grænsefladen til deres smag;

10) tillade brugeren at manipulere interfaceobjekter direkte;

Brug tilstande klogt

Modes er ikke altid dårlige. Det er nødvendigt at give en person mulighed for at vælge de tilstande, han har brug for. Grænsefladen skal være så naturlig, at brugeren føler sig tryg ved at arbejde med dem. Brugeren tænker ikke på at skifte til indsættelsestilstand eller overskrive, når han arbejder i tekstbehandlingsprogram- det er helt rationelt og naturligt.

Tillad en person at bruge en mus og et tastatur

Mulighed for at arbejde med et tastatur ved hjælp af et tastatur i stedet for en mus. Det betyder, at det bliver nemmere for brugeren at arbejde, han kan bare enten ikke bruge det eller ikke har det. Værktøjslinjer er designet til at fremskynde dit arbejde, når du bruger en mus. Men når du arbejder med tastaturet, kan de ikke nås - i sådanne tilfælde er der "drop-down" menuer.

Tillad brugeren at skifte opmærksomhed

Tving ikke brugere til at afslutte påbegyndte handlingssekvenser. Giv dem et valg - annuller eller gem dataene og vend tilbage til, hvor de slap. Lad brugerne få mulighed for at styre processen med at arbejde i programmet.

Vis forklarende beskeder og tekster

Brug brugervenlige termer i hele grænsefladen. De behøver ikke at kende til bits og bytes!

Du bør vælge den rigtige tone i beskeder og invitationer. Det er lige så vigtigt at sikre sig mod problemer og fejl. Dårlig terminologi og forkert tone vil føre til, at brugere bebrejder sig selv for fejl, der opstår.

Giv øjeblikkelig og reversibel handling og feedback

Hvert softwareprodukt skal indeholde funktionerne UNDO og REDO. Det skal brugeren informeres om denne handling ikke kan annulleres, og om muligt give ham mulighed for at foretage en alternativ handling. Hold konstant en person orienteret om, hvad der sker i øjeblikket.

Sørg for klare stier og udgange

Brugere bør nyde at arbejde med grænsefladen på ethvert softwareprodukt. Selv grænseflader, der bruges i branchen, bør ikke skræmme brugeren; han skal ikke være bange for at trykke på knapper eller gå til en anden skærm. Internetinvasionen viste, at navigation er den vigtigste interaktive teknik på internettet. Hvis brugeren forstår, hvordan man logger ind ønskede side på WWW, så er der 80 % chance for, at han forstår grænsefladen. Folk lærer browserteknikker meget hurtigt.

Tilpas brugere med forskellige færdighedsniveauer

Må ikke "ofre" erfarne brugere til gavn for almindelige mennesker. Vi skal sørge for dem hurtig adgang at programmere funktioner. Du skal ikke kede dem med flere trin for at udføre en handling, hvis de er vant til at bruge én makrokommando.

Gør brugergrænsefladen "gennemsigtig"

Brugergrænsefladen er den "mytiske" del af softwareproduktet. Med et godt projekt føler brugerne ikke engang dets "tilstedeværelse". Hvis det er dårligt designet, bliver brugerne nødt til at lægge selv en stor indsats i effektiv brug software produkt. Formålet med grænsefladen er at hjælpe folk med at føle, at de er "inde i" computeren, frit kan manipulere og arbejde med objekter. Dette kaldes en "gennemsigtig" grænseflade!