1 קלח - PyGObject תועצמאב Linux לש הדובעה ןחלוש תחת GUI ימושיי רוציל דציכ


."PyGObject"\הנוכמה Python לש תונכתה תפש םע + GTK תיירפסב שמתשמה הדובע ןחלוש .סקוניל תחת םימושיי תריצי לע תוריהמב ןחבנ ןכל ,רתויב תוילנויצקנופהו תוטושפה תוירפסהו תונכתה תופשב שומיש ןכל ,

PyGObject ב שמתשמ- GObject Introspection ומכ תונכת תופשל בייחמ רוציל ידכ Python, PyGObject מ אבה רודה אוה- PyGTK, ש רמול לוכי התא- PyGObject = Python + GTK3.

:םיאבה םיאשונה תא הסכת הרדסה , PyGobject הפשו + GTK תיירפס תועצמאב סקוניל לש הדובעה ןחלושל תחתמ (יפרג שמתשמ קשממ) GUI ימושיי תריצי לע הרדס םיליחתמ ונא ,םויה

:תבותכב ןותייפ לע םירפס המכ אורקל וא codeacademy.com -ב הלא ומכ םניחב םיסרוק המכ דומלל לוכי התא .םיבר םילועמ םילכו םימושיי רוציל ולכות Python תועצמאב ,םלועב רתויב תומסרופמה תונכתה תופשמ תח

GTK + םילכ תכרעכ 1998 תנשב הנושארל הקשוה איה ,הדובע ןחלוש ימושייל םייפרג שמתשמ יקשממ תריציל חותפ דוק תומרופטלפ הצוח םילכ תכרע אוה GUI ה רובע- GIMP, שמתשמ יקשממ ורציש רתויב תומסרופ

סקוניל תחת GUI ימושיי תריצי

:ןותייפו + GTK תועצמאב םימושיי תריציל םיכרד יתש ןנשי

    .םיכרדה יתש לע הרצקב ריבסנ

    .Glade ומכ םילכ המכ תרזעב םירצוי ונאש ולאמ רתוי ,ונלש תוינכותה רובע דואמ םיילנויצקנופ GUIs רוציל םילוכי ונא התועצמאב ךא ,בר ןמז זובזבו Noob תנכתמ רובע השק טעמ תויהל הלוכי דבלב דוק תועצמאב

    .האבה המגודה תא חקינ

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    from gi.repository import Gtk
    
    class ourwindow(Gtk.Window):
    
        def __init__(self):
            Gtk.Window.__init__(self, title="My Hello World Program")
            Gtk.Window.set_default_size(self, 400,325)
            Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER)
    
            button1 = Gtk.Button("Hello, World!")
            button1.connect("clicked", self.whenbutton1_clicked)
    
            self.add(button1)
            
        def whenbutton1_clicked(self, button):
          print "Hello, World!"
    
    window = ourwindow()        
    window.connect("delete-event", Gtk.main_quit)
    window.show_all()
    Gtk.main()
    

    .לבקתש המ הז ,” ./test.py "\תועצמאב רתוי רחואמ ץבוקה תא לעפהו test.py ץבוקב 755 האשרה רדגהו " test.py "\ץבוקב ותוא קבדה ,ליעלש דוקה תא קתעה

    # nano test.py
    # chmod 755 test.py
    # ./test.py
    

    :ףוסמב ספדומה " !םלוע ,םולש "\טפשמה תא האור התא רותפכה לע הציחלב

    .טרופמ רבסהב דוקה תא ריבסהל יל ןת

      :תבותכב ימשרה דועיתה רתאב רקבל ולכות ,דבלב דוק ךרדב + GTK יקשממ תריצי תודוא ףסונ עדימל .םילודג םימושיי המכ רוציל םיצור ונחנא םא ילנויצקנופ דואמו ?אל לק ,והז

      GTK3 ןותייפ יכירדמ

      ."ריהמ םימושיי חותיפ"\תארקנ וז ךרד .ותועצמאב ורצונ םיבר םילועמ םימושיי יקשממו םיחתפמ ברקב םסרופמ דואמ הז ,ונלש תוינכותל םיכירצ ונחנאש םיקשממ רוציל לק דואמ ילכ אוה Glade ,רמאמה תליחתב יתר

      :הטנמ/וטנובוא/ןאיבד לש הלעפהב ,וב שמתשהל ליחתהל ידכ Glade תא ןיקתהל ךילע

      $ sudo apt­-get install glade
      

      :לעפה ,RedHat/Fedora/CentOS -ב

      # yum install glade
      

      .שדח ןולח רוציל תנמ לע " ןולח "\ןומושיי לע ץחל ,לאמש דצב םינימזה Gtk -ה ינומושיי תא הארת ,התוא לעפתש ירחאו ,תינכותה תא וניקתהו ודירותש רחאל

      .שדח קיר ןולח רצונש ןיחבהל ולכות

      .ןולחל רותפכה תא ףיסוהל תנמ לע קירה ןולחה לע ץחלו " רותפכ "\ןומושייה לע ץחל ,ילאמשה םילכה לגרסב ,םיט'גדיוו המכ וילא ףיסוהל לכות תעכ

      .ויתחתמ " ץחל_1 רותפכ "\ןזהו " וצחל "\תואה תא שפחו ,ינמיה םילכה לגרסב תותואה תייסיטרכב תעכ ןייע ," 1 רותפכ "\אוה רותפכה ההזמש בל םישל ולכות

      .תאצלו” < b> myprogram.glade "\םשב ךלש תיבה תיירפסב ץבוקה תא רומש ," רומש "\רחבו " ץבוק "\טירפתה לע ץחל .ותוא אצנ ואוב ,ונלש GUI -ה תא ונרצישכ וישכע

      .אבה דוקה תא וכותב ןזהו שדח " test.py "\ץבוק רוצ ,תעכ

      #!/usr/bin/python
      # -*- coding: utf-8 -*-
      
      from gi.repository import Gtk
      
      class Handler:
          def button_1clicked(self, button):
            print "Hello, World!"
      
      builder = Gtk.Builder()
      builder.add_from_file("myprogram.glade")
      builder.connect_signals(Handler())
      
      ournewbutton = builder.get_object("button1")
      ournewbutton.set_label("Hello, World!")
      
      window = builder.get_object("window1")
      
      window.connect("delete-event", Gtk.main_quit)
      window.show_all()
      Gtk.main()
      

      .לבקתש המ הזו ," ./test.py "\תועצמאב ותוא לעפהו םדוק ומכ תואשרה 755 ול ןת ,ץבוקה תא רומש

      # nano test.py
      # chmod 755 test.py
      # ./test.py
      

      .לנימרטב ספדומ " !םלוע ,םולש "\טפשמה יכ ןיחבתו ,רותפכה לע ץחל

      :םישדחה םירבדה תא ריבסנ וישכע

        !סקוניל תחת ךלש הנושארה תינכותה תא החלצהב תרצי !לכה הזו

        :תבותכב GObject לש API -ו + GTK -ה דועית תא ןוחבל ךל ץילממ ינא ןכל ,והשמ השועש יתימא םושיי רוציל תנמ לע תושעל םיכבוסמ רתוי הברה םירבד שיש ןבומכ

          ?Python & GTK 3 תועצמאב םימושיי תריצי לע ךתעד המ ?תאז תושעל ידכב ושמתשה םילכו תונכת תפש וזיאב ?סקוניל לש הדובעה ןחלושל תחתמ רבעב והשלכ םושיי תחתיפ


כל הזכויות שמורות. © Linux-Console.net • 2019-2024