gtk glade cambalache da tasarım nasıl?

Başlatan ewreka, 22 Ocak 2024 - 18:51:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ewreka

    Merhaba arkadaşlar glade yada cambalache da tasarım yapıyorum ve signalları işaretliyorum fakat bunları C kodu olarak nasıl alabilirim?

    Yani grafik tasarımını yaptıktan sonra direkt derleme gibi bir imkanım var mı?
Soru için özür dilerim çok acamice bir soru farkındayım şu kursu izledim fakat vatandaşın nasıl yaptığını anlayamadım :S


Erdem

Glade ile üretilmiş desene Vala ile nasıl ulaşılabileceğini burada anlatmıştık.

Eğer C kodunu üretmekte zorlanırsanız inşaAllah yardımcı olmaya çalışırız.

Kaynaklar derlenerek de C koduna eklenebiliyor.

Daha da ilginç bir özellik ise bir uygulama için kaba taslak hazırlıyorsunuz.

Örneğin pencere.blp isminde bir kaba taslağımız olsun.

using Gtk 4.0;
using Adw 1;

template $MainWindow : Adw.ApplicationWindow {
    title: "Selam";
    default-width: 400;
    default-height: 350;

    Box {
        orientation: vertical;

        Adw.HeaderBar {}

        Box {
            orientation: vertical;
            halign: center;
            valign: center;
            hexpand: true;
            vexpand: true;

            Label {
                styles ["title-1"]
                label: "Selâmun Aleyküm!";
            }
        }
    }
}

Daha sonra bunu derleyici ile derleyebiliyoruz.

blueprint-compiler compile pencere.blp > pencere.ui

Derlediğimiz zaman bizim için pencere.ui kütüğünü oluşturdu.

cat pencere.ui
<?xml version="1.0" encoding="UTF-8"?>
<!--
DO NOT EDIT!
This file was @generated by blueprint-compiler. Instead, edit the
corresponding .blp file and regenerate this file with blueprint-compiler.
-->
<interface>
  <requires lib="gtk" version="4.0"/>
  <template class="MainWindow" parent="AdwApplicationWindow">
    <property name="title">Selam</property>
    <property name="default-width">400</property>
    <property name="default-height">350</property>
    <child>
      <object class="GtkBox">
        <property name="orientation">1</property>
        <child>
          <object class="AdwHeaderBar"></object>
        </child>
        <child>
          <object class="GtkBox">
            <property name="orientation">1</property>
            <property name="halign">3</property>
            <property name="valign">3</property>
            <property name="hexpand">true</property>
            <property name="vexpand">true</property>
            <child>
              <object class="GtkLabel">
                <style>
                  <class name="title-1"/>
                </style>
                <property name="label">Selâmun Aleyküm!</property>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </template>
</interface>


İşin güzel tarafı tüm bu işlemler Meson ile halledilebiliyor.

Bu konu bizim de taze, yakın zamanda öğrenmekte olduğumuz bir konudur.

Oluşturulan kaba taslakları  gösterebilen Workbench isimli bir yazılım var.


Erdem

#2
Glade ile üretilmiş basit bir pencereye Vala ile nasıl erişilebileceğini burada izah etmeye çalıştık.

Dersin ikinci bölümü ise buradadır.