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.
Šā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.
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.
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ē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.
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.
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.
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: