Monodevelop C # un GTK konteineri un sastāvdaļas

Satura rādītājs
GTK # ar konteineru palīdzību ļauj mums kontrolēt logrīku stāvokli logā, lai varētu izveidot dizainu. Šie konteineri, kuriem ir atšķirīgas īpašības un kalpo, lai vadītu komponentu vai logrīka dizainu un izvietojumu logā.
galvenie konteineri ir:
  • Konteineri ar horizontālām vai vertikālām kastēm
  • Konteineri ar galdiem
  • Fiksēts konteiners
  • Rāmji vai rāmja konteiners

Kā izmantot konteinerus atbilstoši mūsu lietojumprogrammas vajadzībām vai prasībām
Konteineri ar horizontālām vai vertikālām kastēm
Ja mēs esam pieraduši programmēt operētājsistēmā Windows un tās vilkšanas un nomešanas saskarnes projektēšanas metodoloģijā, šāda veida konteineri, iespējams, ir labāki, jo logrīki vai komponenti ir novietoti logā, izmantojot x koordinātas, un kā tas tiek novērtēts sistēmā Windows.
Lai gan tas ir iespējams ar Gtk un monodevelop, labākais logrīku izlīdzināšanas veids ir lodziņi. Ir divu veidu kastes horizontāli vai HBox un vertikāli vai VBox. Šāda veida konteiners nav atkarīgs no ekrāna izmēra. HBox un VBox konteineri rūpējas par tās zonas automātisku izmēru maiņu, kuru sastāvdaļa aizņem.
Apskatīsim piemēru ar horizontālām vai vertikālām kastēm. Mēs izveidosim C # un Gtk projektu Monodevelop.
Mēs tam piešķiram Vbox konteineru un pēdējā rindā pievienojam Hbox konteineru.

Tad mēs pievienosim pogu Hbox pēdējā šūnā. Īpašumos mēs piešķiram nosaukumu bt Akceptēt un etiķetē nosaukums Akceptēt.

Ja mēs palaižam lietojumprogrammu no Izvēlne Palaist> Sākt atkļūdošanu vai ar atslēgu F5, mēs redzēsim, ka poga ir izlīdzināta ekrāna augšējā kreisajā zonā, jo pārējās šūnas ir tukšas, tāpēc tās netiek rādītas.

Lai to atrisinātu, mēs varam izmantot Aligment konteineru un ievietot to tukšās vietās, lai saglabātu loga dizainu.

Mēs vēlreiz palaižam lietojumprogrammu no izvēlnes Palaist> Sākt atkļūdošanu vai ar taustiņu F5 mēs redzēsim, ka poga tagad ir parādīta vietā, kur mēs to ievietojām, un ievēro ekrāna izkārtojumu. Tagad mēs varam turpināt citu logrīku ievietošanu.

Pievienosim dažus komponentus, piemēram, Kalendārs centrālajā šūnā VBox un Ēdienkarte augšējā šūnā Vbox, Rezultāts ir šāds:

Konteiners ar galdiem
Šāda veida konteineri ir režģis ar rindām un kolonnām, kas var būt noderīgi, ja mums ir jāizveido režģis, kurā mēs varam ievietot logrīkus, piemēram, datu ievades ekrāns. Apskatīsim piemēru ar tabulu. Mēs izveidosim C # un Gtk projektu Monodevelop, mēs izveidosim datu ievades veidlapu.
Mēs parakstām Vbox konteineru un pēdējā rindā pievienojam Hbox konteineru, tāpat kā iepriekšējā projektā mēs pievienojam izvēlņu joslu un pogas zemāk, centrā mēs pievienojam galda konteineru.

Tabulas noklusējuma konteinerā ir 3 rindas un 3 kolonnas, tagad mēs pievienosim logrīku, ņemot vērā, ka katra tabulas šūna tiek mainīta uz tajā esošo objektu. Lai pievienotu vai noņemtu rindas vai kolonnas, ar peles labo pogu noklikšķiniet uz rindas un pēc tam dodieties uz opciju tabulu, lai izdzēstu vai ievietotu rindas vai kolonnas.
Noņemsim pēdējo rindu un pēc tam pirmās rindas pirmajā šūnā pievienosim Vox konteineru etiķetēm. Pēc tam pirmās rindas otrajā šūnā mēs pievienosim Vox konteineru ierakstam vai tekstlodziņiem.

Mēs varam definēt katras vadīklas rekvizītus, lai to labāk novietotu; iezīmju gadījumā īpašums būs jāpielāgo Polsterējums lai pielāgotu to tekstlodziņu līmenim, pietiks ar 5 pikseļu polsterējumu katrā etiķetē.

Mēs pievienosim nepieciešamos komponentus, lai reģistrētu un parādītu lietotāja fotoattēlu, jo pirmajā Vbox, ar peles labo pogu noklikšķinot uz tālruņa etiķetes šūnas, mēs varam ievietot šūnu vbox, mēs arī pievienosim šūnu cits vbox.
Tagad mēs pievienosim a etiķete Foto un logrīku Failu izvēle Poga faila izvēlei Atkļūdot kas tiek ģenerēts automātiski izpildes laikā. Atlasītā attēla platums ir 100 pikseļi un platums 100 pikseļi.

Fiksēts konteiners
Fiksētie konteineri ļauj vilkt un nomest logrīku fiksētās pozīcijās un ar noteiktiem izmēriem. Šajā konteinerā netiek veikta automātiska izkārtojuma pārvaldība, kā arī netiek mainīts logrīku lielums. Tos izmanto dažās lietojumprogrammās, kur nepieciešami logrīki, kurus vēlāk pārvaldīs ar kodu, piemēram, spēles, specializētas lietojumprogrammas, kas darbojas ar diagrammām vai grafiku, piemēram, OpenGL vai 3D.
Apskatīsim piemēru, kurā mēs ievietosim fiksētu konteineru un vairākus attēlus.

Mēs esam ievietojuši attēlu logrīku fonā, citu attēla logrīku fonā ar lidmašīnu un citu attēla logrīku fonā ar golfa spēlētāja attēlu. Katrs attēls ir fiksētā koordinātā, un tad mēs varētu pārvaldīt koordinātas pēc koda, lai panāktu kustības vai animācijas efektu, ja tā būtu spēle.
Rāmji vai rāmja konteiners
Rāmji vai rāmji, piemēram, Visual Studio tiek izmantota Groupbox vadīkla, tos izmanto, lai saturētu logrīku grupu, Rāmja mērķis ir definēt grupas logrīku pēc kategorijām vai saistītām sadaļām, pēc izvēles tam var būt virsraksts. Nosaukuma pozīcija un lodziņa stils tiek konfigurēts no rekvizītiem.
Nosaukuma etiķete parādās rāmja augšējā kreisajā stūrī. Ja virsraksts netiek ievietots, tas būs tukšs un nosaukums netiks parādīts. Iezīmes tekstu var mainīt, izmantojot Iezīmējiet īpašumu.
Iekšā Rāmis jūs varat apvienot jebkuru no iepriekš minētajiem konteineriem un otrādi.
Izveidosim ekrānu Meistars / detaļa, izmantojot rāmjus. Mēs izveidosim a C # un Gtk projekts Monodevelop un mēs parakstām Vbox konteineru ar 4 rindām, un pirmajā rindā mēs pievienojam a Ēdienkarte,
Otrajā rindā mēs pievienojam rāmja konteineru, etiķetes nosaukums būs produkti, un mēs piešķiram tam ēnotu apmali IN.

Rāmja iekšpusē mēs pievienojam tabulas konteineru ar 4 rindām un 3 kolonnām, lai izveidotu datu ievades veidlapu, un tabulas pēdējā centrālajā rindā ievietojam Hbox ar divām lodziņām pogām Iegravēt Y Atcelt.
Vbox trešajā rindā mēs ievietojam atdalītāja joslu ar logrīku Horizontālais atdalītājs, un pēdējā Vbox rindā mēs ievietojam vēl vienu rāmi un koka skatu.

Atcerieties - lai viss būtu pareizi izlīdzināts, mums ir jāpieskaras katra logrīka polsterējuma īpašībai. Lai aizpildītu Treeview, ko mēs sauksim par tvwlista, mēs izmantosim c # kodu Mainwindows klasē, kas būs šāds:
 public MainWindow (): bāze (Gtk.WindowType.Toplevel) {Build (); // Es izveidoju koka skata kolonnas un galvenes // Es izveidoju produkta kolonnu Gtk.TreeViewColumn Product col = new Gtk.TreeViewColumn (); colProducto.Title = "Produkts"; // Es izveidoju krājumu kolonnu Gtk.TreeViewColumn colStock = new Gtk.TreeViewColumn (); colStock.Title = "Krājums"; // Es izveidoju cenu kolonnu Gtk.TreeViewColumn pricecol = new Gtk.TreeViewColumn (); colPrice.Title = "Cena"; // Es pievienoju slejas un nosaucu tās koka skatā tvwlista.AppendColumn (colProduct); tvwlista.AppendColumn (colStock); tvwlista.AppendColumn (pricecol); // Es izveidoju datu modeli, ko uzglabāt un kur es pievienoju trīs teksta tipa datus Gtk.ListStore store = new Gtk.ListStore (typeof (string), typeof (string), typeof (string)); // Es piešķiru modeli TreeView tvwlista.Model = store; // Es pievienoju datus modeļu veikalam.AppendValues ​​("TABLET SAMSUNG", "5", "175"); store.AppendValues ​​("MACBOOK PRO", "10", "2680"); store.AppendValues ​​("SEGATE DISK 1 TB", "10", "85"); // Mēs izveidojam šūnu, kurā tiks parādīts produkts Gtk.CellRendererText productCell = new Gtk.CellRendererText (); // Mēs pievienojam produkta datu šūnu colProduct.PackStart (productCell, true); // Pievienot akciju datu šūnu Gtk.CellRendererText cellStock = new Gtk.CellRendererText (); colStock.PackStart (cellStock, true); // Pievienot cenu datu šūnu Gtk.CellRendererText PriceCell = new Gtk.CellRendererText (); pricecol.PackStart (priceCell, true); // Mēs pievienojam datu šūnas katrai slejai, un tiks ģenerētas rindas // colProducto.AddAttribute (cellProducto, "text", 0); colStock.AddAttribute (cellStock, "teksts", 1); priceCol.AddAttribute (priceCell, "text", 2); } 
Tālāk mēs izpildām, un rezultāts būs šāds:

Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu
wave wave wave wave wave