Taw qhia Blueprint, tus neeg siv interface hom lus tshiab rau GTK

James Westman, tus tsim tawm ntawm GNOME Maps daim ntawv thov, tau nthuav tawm cov lus cim tshiab, Daim Ntawv Qhia, tsim los tsim kev sib tshuam siv lub tsev qiv ntawv GTK. Lub compiler code rau converting Blueprint markup rau hauv GTK UI cov ntaub ntawv yog sau nyob rau hauv Python thiab muab faib raws li LGPLv3 daim ntawv tso cai.

Yog vim li cas rau kev tsim qhov project yog qhov khi ntawm UI interface cov lus piav qhia cov ntaub ntawv siv hauv GTK rau hom XML, uas yog overloaded thiab tsis yooj yim rau kev sau lossis kho cov cim manually. Cov hom ntawv Blueprint yog qhov txawv ntawm nws qhov kev nthuav qhia meej ntawm cov ntaub ntawv thiab, ua tsaug rau nws cov syntax nyeem tau, ua rau nws muaj peev xwm ua tau yam tsis muaj kev siv tshwj xeeb qhov muag interface editors thaum tsim, kho thiab ntsuas kev hloov pauv hauv cov ntsiab lus interface.

Nyob rau tib lub sijhawm, Blueprint tsis xav tau kev hloov pauv rau GTK, ua kom rov ua dua tus qauv GTK widget thiab muab tso rau hauv ib qho ntxiv uas suav cov cim rau hauv cov qauv XML rau GtkBuilder. Lub functionality ntawm Blueprint yog tag nrho raws li GtkBuilder, tsuas yog cov txheej txheem ntawm kev nthuav qhia cov ntaub ntawv txawv. Txhawm rau hloov qhov project mus rau Blueprint, tsuas yog ntxiv daim ntawv sau ua ke hu rau tus tsim tsab ntawv yam tsis hloov cov cai. siv Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("Kuv App Title"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Nyob zoo, ntiaj teb!"); }}

Blueprint qhia - hom lus tshiab rau kev tsim cov neeg siv interfaces rau GTK

Ntxiv nrog rau cov compiler rau hauv tus qauv GTK XML hom, lub plugin nrog Blueprint txhawb nqa rau GNOME Builder kev sib koom ua ke ib puag ncig kev txhim kho kuj tseem nyob hauv kev txhim kho. Ib tug cais LSP neeg rau zaub mov (Language Server Protocol) tab tom tsim rau Blueprint, uas tuaj yeem siv rau qhov tseem ceeb, kev txheeb xyuas qhov yuam kev, nthuav qhia cov lus qhia thiab kev ua tiav cov lej hauv cov lej kho uas txhawb nqa LSP, suav nrog Visual Studio Code.

Cov phiaj xwm kev tsim kho Blueprint suav nrog qhov sib ntxiv ntawm cov txheej txheem reactive rau cov cim, siv los ntawm Gtk.Expression chav kawm muab hauv GTK4. Txoj kev npaj tau paub ntau dua rau cov neeg tsim khoom ntawm JavaScript web interfaces thiab tso cai rau tsis siv neeg synchronization ntawm kev nthuav qhia interface nrog cov qauv ntaub ntawv sib txuas, tsis tas yuav tsum tau hloov kho cov neeg siv interface tom qab txhua cov ntaub ntawv hloov.

Tau qhov twg los: opennet.ru

Ntxiv ib saib