بعض الشرح عن ال Signals في Gtk

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته



بعض الشرح عن ال Signals في Gtk  .

 




قبل البدأ الأفضل الإطلاع على هذا الموضوع https://arfedora.blogspot.com/2017/03/pygobject-gtk.html

لنبدأ :


 1-دالة print_hello لطباعة كلمة hello .

2-قمت بإنشاء button أي زر يمكن الضغط علبه لاكني هنا لم أعرضه فقط أريد أن أشرح شيء, في الصورة التالية سأقوم بعرض نافذة البرنامج والزر button .

3-من خلال دالة connect قمت بربط دالة print_hello  بإشارة (signal) خاصة بالأزرار إسمها clicked بشكل بسيط عندما تقوم هذه الbutton بإصدار (emit) إشارة إسمها clicked سيتم تنفيذ دالة print_hello .

4-نلاحظ عند إصدار إشارة clicked تم تنفيذ دالة print_hello .



الأن ذات المبدأ لاكن هنا لم أنفذ دالة emit بشكل يدوي  لاكن الامر تم بشكل تلقائي عند الضغط على الزر Click Here عندها يحدث حدث معين  (event) يقوم بإصدار إشارة clicked .

الأن كيف حصلت على هذه المعلومات ومن حددها هكذا ؟ الجواب هذه أشياء محددة من قبل القائميين على Gtk وهذه المعلومات متوفرة في والوثائق الرسمية للمكتبة .

 ملاحظة غالبا إسم الإشارة يدل أيضا على إسم الحدث الذي يصدرها  أظن واضح معنى كلمة clicked أي نقر.




ممكن بشكل مؤقت عمل block للإشارة من خلال handler_block .



ممكن عكس دالة connect من خلال دالة disconnect .


ممكن إستعراض كل الإشارات المتوفرة لعنصر ما مثلا الأزرار button ,طبعا كل هذا مذكور أيضا في الوثائق الرسمبة .





أخيرا مفهوم ال signal و ال event لا يقتصر فقط على بايثون أو على Gtk او على المكتبات الرسومية فهو مفهوم أوسع بكثير لاكني في هذا الموصوع تكلمت بشكل بسيط ومحدد وليس كل شيء  عن Gtk و بايثون .

رابط مفيد https://pygobject.readthedocs.io/en/latest/index.html


أضحى مبارك كل عام وأنتم بخير إن شاء الله .

شارك الموضوع

مواضيع ذات صلة

التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (3) أشياء تفعلها (4) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (14) برامج (45) برامج إسلامية (2) برنامج (18) برودباند (1) بعد (3) بعد التثبيت (4) بلوتوث (1) بناء (1) بيئة عمل (1) تثبيت (24) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (3) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) ريدهات (2) سكربت (2) شرح (10) صورة متحركة (1) فايرفوكس (1) فصل (1) فلاشة (3) فيدورا (25) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (3) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) وايرلس (1) وهمي (2) ويندوز (2) active (2) add (1) after (3) alias (1) andoid studio (1) android (1) android studio (1) Apache (1) arboot (1) arboot fix (1) arch (3) archiso (1) arfedy (1) atari (1) atom (1) ayat (1) bicon (1) blivet (1) blivet-gui (1) bluetooth (1) book (2) books (2) bootloader fix (1) broadband (1) broadcom (1) broadwayd (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (1) chsh (1) cisco (1) clion (1) clone (1) code.org (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) curlew (1) custom (2) dbus (1) dd (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) disks (1) dnf (12) do (3) docker (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (8) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) enable (2) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (37) fedora 25 alpha (1) fedora cloude (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) firefox (2) fix (8) flash mem (1) flash memory (2) flashplayer (1) flatpak (2) fpaste (1) free (1) freebsd (1) function (1) game (3) games (1) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (8) gnome disk (1) gnome shell (12) gnome terminal (1) gnome-disks (1) gnu (1) goldendict (1) google web designer (1) gradio (1) group (1) grub (5) grub2 (1) gtk (2) gtk+ (1) hack (2) hash (3) hdmi (3) hibernate (1) home (2) hosspot (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (27) installf (9) installing (3) intellij idea (1) iso (1) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kernel (1) kernel parameters (1) key (1) kickstarts (2) korora (1) krita (1) kvm (1) kvm switches (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) life is trange (1) linux (7) lv (1) lvm (2) mac (4) macros (1) mageia (1) MariaDB and PHP Lamp Server (1) mate terminal (1) mbr (1) md5sum (1) mirro (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (7) objdesktop (1) ojuba (2) oop (1) opensuse (1) opera (1) optirun (2) oracle (1) os.path (1) package (1) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) phpstorm (1) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) PostinstallerF (1) pot (1) powerline (1) primary display (1) primus (1) primusrun (1) programs (3) put (1) pv (1) pycharm (2) pygobject (1) pygtk (1) python (28) qdbus (1) qemu (2) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (2) remix (1) remix os (1) repo (4) repofrompath (1) resize2fs (1) rhel (1) rpm (5) rpmbuild (1) rtl8188ee (1) rtl8192c (1) rtl8192ce (1) rtl8192cu (1) rtl8192de (1) rtl8192ee (1) rtl8192se (1) rtl8723ae (1) rtl8723be (1) rtl8723com (1) rtl8821ae (1) rubymine (1) salix (1) scratch (2) scratch2.scratch 2 (1) script (2) seconday display (1) self (1) send (1) sha1256sym (1) share desktop (1) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) soundcloud (1) source code (1) spec (2) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) su (1) sudo (2) sudoers (1) swap (2) switch (1) Switchable Graphics (1) synergy (1) teamviewer (1) terminal (2) theme (4) things (3) to (4) tor (2) tor browser (1) torrent (1) transfer closed with 736700 bytes remaining to read (1) translation (1) turn off (2) tuxcut (1) txt (1) ubuntu (1) uefi (5) unable to mount location (1) unity (1) unity3d (1) upgrade (1) usb (1) useradd (2) utf-8 (1) vega (1) vg (1) vgaوتبديل (1) vi (1) vim (1) vino (1) virtual (1) virtual box (1) virtualbox (2) vmware (3) vnc server (1) vokoscreen (1) webstorm (1) wifi (1) windows (3) windows-1256 (1) X Error: BadAccess (1) X Error: BadDrawable (1) yum (2) zeal (1) zealdocs (1)