Ubuntu Türkiye

Yazılım => Programlama => C/C++ => Konuyu başlatan: ewreka - 22 Ocak 2024 - 18:51:16

Başlık: gtk glade cambalache da tasarım nasıl?
Gönderen: ewreka - 22 Ocak 2024 - 18:51:16
    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

Başlık: Ynt: gtk glade cambalache da tasarım nasıl?
Gönderen: Erdem - 23 Nisan 2024 - 18:20:42
Glade ile üretilmiş desene Vala ile nasıl ulaşılabileceğini burada (https://www.kodevreni.com/7921-vala-programlama-dili/?tab=comments#comment-22030) 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 (https://elementaryos.stackexchange.com/questions/11605/proper-way-to-include-assets-when-compiling-a-vala-gui-program).

Daha da ilginç bir özellik ise bir uygulama için kaba taslak (https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/) 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 (https://elektronik.vercel.app/meson-kullanimina-giris) ile halledilebiliyor.

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

Oluşturulan kaba taslakları  gösterebilen Workbench (https://flathub.org/apps/re.sonny.Workbench) isimli bir yazılım var.

Başlık: Ynt: gtk glade cambalache da tasarım nasıl?
Gönderen: Erdem - 24 Nisan 2024 - 23:43:11
Glade ile üretilmiş basit bir pencereye Vala ile nasıl erişilebileceğini burada (https://elektronik.vercel.app/vala-kaynak-kullanimi) izah etmeye çalıştık.

Dersin ikinci bölümü (https://elektronik.vercel.app/vala-kaynak-kullanimi-2) ise buradadır.