تي كي (برنامج)
Tk هي مجموعة أدوات متعددة المنصات لإنشاء واجهات المستخدم الرسومية ( GUI) باستخدام العديد من لغات البرمجة. وهي برنامج مجاني ومفتوح المصدر، مرخص بموجب ترخيص برمجيات مشابه لترخيص BSD .
توفر مكتبة Tk العديد من الأدوات الشائعة الاستخدام في تطوير تطبيقات سطح المكتب، مثل الأزرار والقوائم ولوحات الرسم والنصوص والإطارات والملصقات، وغيرها. وقد تم تطوير Tk ليعمل على معظم توزيعات أنظمة Linux و macOS و Unix و Microsoft Windows . وكما هو الحال في Tcl ، يدعم Tk 8.6 ترميز Unicode ضمن المستوى الأساسي متعدد اللغات ، بينما يدعم Tk 9 نطاق Unicode الكامل .
صُممت Tk لتكون قابلة للتوسيع، وتتوفر مجموعة واسعة من الإضافات التي توفر أدوات جديدة أو إمكانيات أخرى. [ 4 ] [ 5 ]
منذ الإصدار الثامن من Tcl/Tk، يوفر البرنامج مظهرًا وإحساسًا أصليين (على سبيل المثال، تُعرض القوائم والأزرار بنفس طريقة عرض البرامج الأصلية لأي منصة). [ 6 ] تشمل أبرز ميزات الإصدار 8.5 محركًا جديدًا للسمات، كان يُسمى في الأصل Tk Tile، [ 7 ] ولكنه يُشار إليه الآن عمومًا باسم "Tk ذو السمات"، بالإضافة إلى تحسين عرض الخطوط. [ 8 ] تشمل أبرز ميزات الإصدار 8.6 دعم صور PNG والنصوص المائلة. [ 9 ]
تاريخ
طُوِّرت لغة Tk بواسطة جون أوسترهوت كإضافة للغة البرمجة النصية Tcl . وقد أُصدرت للجمهور لأول مرة عام 1991. [ 10 ] وكانت إصدارات Tk تُدار بشكل منفصل عن Tcl حتى الإصدار 8.0.
كُتبت لغة Tk في الأصل لأنظمة Unix/X11، وحققت شعبيةً واسعةً بين المبرمجين في التسعينيات نظرًا لسهولة تعلمها واستخدامها مقارنةً بـ Motif وغيرها من أدوات X11 في ذلك الوقت. [ 11 ] كما نُقلت Tk إلى منصات Microsoft Windows وMacintosh، بدءًا من الإصدار Tk 4.2، وجرى تحسينها بمظهرٍ وتجربة استخدامٍ أصليين في الإصدار Tk 8.0 (الذي صدر عام 1997). تقديرًا لشعبية Tk وأهميتها في التسعينيات، مُنح أوسترهوت جائزة ACM لأنظمة البرمجيات عام 1997 عن Tcl/Tk: [ 12 ]
تُتيح لغة البرمجة النصية Tcl للمطورين إنشاء أنظمة معقدة من مكونات موجودة مسبقًا. بينما توفر مكتبة Tk المدمجة آلية بسيطة لإنشاء واجهات مستخدم رسومية. معًا، تُشكلان إضافة قوية لمجموعة البرامج.
تراجع الاهتمام بـ Tk بشكل ملحوظ منذ أواخر التسعينيات فصاعدًا. ظل المظهر الافتراضي لنظام يونكس يحاكي Motif ، على الرغم من استبدال Motif على نطاق واسع بمجموعات أدوات مثل FLTK و Qt و GTK . [ 13 ] لم تكن الأدوات المصغّرة التي شاع استخدامها في التطبيقات (مثل الأشجار، والقوائم المنسدلة ، ودفاتر الملاحظات ذات علامات التبويب) متوفرة في نواة Tk، بل فقط عبر إضافات متعددة، غالبًا ما تكون متنافسة. [ 14 ]
عالج الإصدار Tk 8.5، الذي صدر في أواخر عام 2007، بعض هذه المشاكل بإضافة عناصر واجهة مستخدم مفقودة إلى النظام الأساسي، وتقديم محرك جديد للسمات، وتحديث المظهر العام على أنظمة يونكس. [ 8 ] ومع ذلك، ونظرًا لضرورة إجراء بعض التغييرات البرمجية لدمج هذه التحسينات، لا تزال العديد من التطبيقات الحالية تحتفظ بالمظهر القديم المستوحى من Motif الذي اشتهر به Tk. [ 15 ]
بنيان
Tk هو إطار عمل رسومي مستقل عن المنصة، تم تطويره للغة Tcl. يمكن استدعاء Tk من خلال موجه أوامر Tcl (tclsh) باستخدام الأمر package require Tk. يوفر برنامج wish (موجه أوامر النافذة) طريقة لتشغيل موجه أوامر tclsh في نافذة رسومية، بالإضافة إلى توفير Tk. [ 16 ]
يتميز Tk بالخصائص التالية:
- مستقل عن المنصة : تم نقل Tk إلى منصات متعددة ويمكن تشغيله بسهولة على جميعها دون تعديل. [ 17 ]
- قابل للتخصيص : يمكن تخصيص جميع ميزات عنصر واجهة المستخدم تقريبًا في Tk من خلال الخيارات أثناء إنشاء عنصر واجهة المستخدم أو لاحقًا من خلال أمر التكوين. [ 18 ]
- قابل للتخصيص : يمكن تخزين العديد من الخيارات في قاعدة بيانات خاصة بها، مما يُسهّل تخصيص مظهر التطبيق (مثل نظام الألوان). وهذا يعني أيضًا أن تخزين الخيارات الخاصة بالتطبيق لا يتطلب سوى حفظ أوامر إضافة الخيارات وتنفيذها عند تحميل التطبيق. [ 19 ]
روابط اللغة
يمكن استخدام مكتبة مكتوبة بلغة برمجة معينة في لغة أخرى إذا توفرت روابط برمجية لها؛ إذ تتكامل مكتبة Tk مع لغة Tcl. وتتوفر روابط برمجية للعديد من اللغات الأخرى، ويمكن الاطلاع على قائمة جزئية منها على موقع Tk الإلكتروني. [ 20 ] كما تتوفر روابط برمجية للغات إضافية قد لا تكون مدرجة، بما في ذلك Ada (المعروفة باسم TASH)، [ 21 ] وGo (عبر tk9.0)، [ 22 ] وHaskell (المعروفة باسم HTk)، [ 23 ] وPerl و Python (المعروفة باسم Tkinter )، و R (عبر الحزمة القياسية: tcltk)، و Ruby ، وRexx ، و Common Lisp .
توجد عدة طرق لاستخدام مكتبة Tk من لغة Perl : وحدات Tcl::Tk وTkx في Perl، [ 24 ] حيث تستخدم كلتاهما Tcl كوسيط للوصول إلى Tk، وPerl/Tk، [ 25 ] الذي يوفر وصولاً أصلياً من Perl إلى هياكل Tk. كما يستخدم ربط Python مكتبة Tcl كوسيط للوصول إلى Tk. [ 26 ]
سمات
توفر مكتبة Tk العديد من الأدوات المصغّرة. [ 27 ] تُدمج الأدوات المصغّرة الأساسية في toplevelأدوات مصغّرة أخرى، والتي بدورها عادةً ما يستضيفها نظام التشغيل في نوافذ عائمة يمكن تحريكها على الشاشة. [ 28 ]
الأدوات الأساسية
buttoncanvascheckbuttoncomboboxentryframelabellabelframelistboxmenumenubuttonmessagenotebookpanedwindowprogressbarradiobuttonscalescrollbarseparatorsizegripspinboxtexttk_optionMenutreeview
أدوات المستوى الأعلى
tk_chooseColor– يظهر مربع حوار للمستخدم لاختيار لون.tk_chooseDirectory– يظهر مربع حوار للمستخدم لاختيار دليل.tk_dialog– يقوم بإنشاء نافذة حوارية مشروطة وينتظر ردًا.tk_getOpenFile– يظهر مربع حوار للمستخدم لاختيار ملف لفتحه.tk_getSaveFile– يظهر مربع حوار للمستخدم لاختيار ملف لحفظه.tk_messageBox– تظهر نافذة رسالة وتنتظر رد المستخدم.tk_popup– يعرض قائمة منبثقة.toplevel– يقوم بإنشاء ومعالجة الأدوات الرئيسية.
مديرو الهندسة
يتم ترتيب الأدوات الأساسية في toplevelنوافذ باستخدام مديري الهندسة: [ 29 ]
place- يضع الأدوات في مواقع مطلقةgrid- يرتب الأدوات في شبكةpack- يقوم بتعبئة الأدوات في تجويف
انظر أيضاً
- قائمة مجموعات أدوات الأدوات المصغّرة
- أمنية (صدفة النافذة)
- يتوقع
- Tkinter – واجهة برمجة تطبيقات Tk للغة بايثون
- التصنيف: برامج تستخدم Tk (برامج)
مراجع
- ↑ "تطوير Tcl/Tk الأساسي" . Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ " تم إصدار [ TCLCORE ] Tk 9.0.4" . 26 يونيو 2026. تم الاطلاع عليه بتاريخ 27 يونيو 2026 .
- ↑ "شروط ترخيص Tcl/Tk" . Tcl Developer Xchange . تم الاطلاع عليه بتاريخ 4 نوفمبر 2016 .
- ↑ كتابة عنصر واجهة مستخدم Tk بلغة C ، الفصل 46 من كتاب البرمجة العملية بلغة Tcl وTk ، رقم ISBN 0-13-038560-3
- ↑ "إضافات لـ Tcl و Tk" . ويكي Tcl . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "Tcl/Tk 8.0" . Tcl Developer Xchange . 18 سبتمبر 2013. تم الاطلاع عليه في 1 يوليو 2014 .
- ↑ "Tile: محرك تصميم مُحسّن لـ Tk" . SourceForge . تم الاطلاع عليه بتاريخ 4 نوفمبر 2016 .
- 1 2 "إعلان إصدار Tcl/Tk 8.5" . Tcl Developer Xchange . 18 سبتمبر 2013. تم الاطلاع عليه في 1 يوليو 2014 .
- ↑ "إعلان إصدار Tcl/Tk 8.6" . Tcl Developer Xchange . 20 سبتمبر 2013. تم الاطلاع عليه في 1 يوليو 2014 .
- ↑ أوسترهوت، جون. "تاريخ لغة Tcl" . تبادل مطوري Tcl . تم الاسترجاع في 1 أبريل 2010 .
- ↑ "معلومات أساسية عن Tk" . TkDocs . تم الاطلاع عليه بتاريخ 4 نوفمبر 2016 .
- ↑ "جون ك. أوسترهوت - الفائز بالجائزة" . جوائز أكاديمية موسيقى الريف . تم الاطلاع عليه بتاريخ 4 نوفمبر 2016 .
- ↑ "نصيحة رقم 48: دعم تنسيق عناصر واجهة المستخدم Tk" . موقع Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "treeview" . ويكي تكلير . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "نصيحة رقم 319: تطبيق التوافق مع الإصدارات السابقة لعناصر واجهة المستخدم ذات الطابع الخاص بـ ttk في عناصر واجهة المستخدم الخاصة بـ tk" . Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "صفحة دليل الأمنيات - تطبيقات Tk" . منتدى مطوري Tcl . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "كيفية تجميع لغة Tcl" . موقع Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "صفحة دليل ttk::widget - أداة Tk ذات الطابع الخاص" . Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "صفحة دليل الخيارات - الأوامر المدمجة" . Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ "اللغات ذات الربط Tk" . ويكي Tcler . تم الاطلاع عليه في 1 يوليو 2014 .
- ↑ "TASH" . SourceForge . تم الاطلاع عليه في 1 يوليو 2014 .
- ↑ "tk9.0: مجموعة أدوات واجهة المستخدم الرسومية متعددة المنصات وخالية من CGo للغة Go" . حزم Go . تم الاسترجاع في 22 نوفمبر 2024 .
- ↑ "منزل اتش تي كيه" . المعلوماتية - FB3 - يوني بريمن . تم الاسترجاع في 4 نوفمبر 2016 .
- ↑ "Tkx::Tutorial - كيفية استخدام Tkx" . وثائق ActiveState . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ مفاهيم بيرل/تك ، الفصل 1 من كتاب إتقان بيرل/تك ، رقم ISBN 978-1565927162
- ↑ Tkinter ، الفصل 2.4 في كتاب Modern Tkinter لمطوري بايثون المشغولين ، ASIN B0071QDNLO
- ↑ "أوامر Tk، الإصدار 8.6.6" . Tcl Developer Xchange . تم الاطلاع عليه في 1 نوفمبر 2016 .
- ↑ الأدوات ، الفصل 17.2 في Tcl ومجموعة أدوات Tk ، رقم ISBN 978-0321336330
- ↑ مديرو الهندسة ، الفصل 17.6 في Tcl ومجموعة أدوات Tk ، ISBN 978-0321336330
للمزيد من القراءة
- أوسترهوت، جون ك .؛ جونز، كين (2009). لغة Tcl ومجموعة أدوات Tk (الطبعة الثانية ). أديسون ويسلي. ISBN 978-0-321-33633-0تم الاطلاع عليه بتاريخ 4 نوفمبر 2012 .
- فوستر-جونسون، إريك (1997). التطبيقات الرسومية باستخدام Tcl وTk ( الطبعة الثانية). نيويورك، نيويورك: دار نشر M&T. ISBN 1-55851-569-0تم الاطلاع عليه بتاريخ 4 نوفمبر 2012 .
- برنت ب. ويلش، البرمجة العملية بلغة Tcl و Tk ، برنتيس هول ، أبر سادل ريفر، نيوجيرسي، الولايات المتحدة الأمريكية، رقم ISBN 0-13-038560-32003
- جيه أدريان زيمر، Tcl/Tk للمبرمجين، مؤرشف في 4 أبريل 2017 في Wayback Machine ، جمعية IEEE للحاسبات ، موزع بواسطة John Wiley and Sons، رقم ISBN 0-8186-8515-81998
- مارك هاريسون ومايكل ماكلينان، برمجة Tcl/Tk الفعالة ، أديسون-ويسلي ، ريدينغ، ماساتشوستس، الولايات المتحدة الأمريكية، ISBN 0-201-63474-01998
- بيرت ويلر، كتاب طبخ برمجة Tcl/Tk 8.5 ، دار نشر Packt ، برمنغهام، إنجلترا، المملكة المتحدة، رقم ISBN 18495129812011
- كليف فلينت، Tcl/Tk، الطبعة الثالثة: دليل المطور ، ISBN 01238471762012
روابط خارجية
- الموقع الرسمي
- ويكي تيكلير
- دليل المستخدم Tk 8.6
- وثائق Tk : دروس Tk الحديثة للغات Tcl و Ruby و Perl و Python
- اللغات التي تستخدم ربط Tk
- تي كي (برنامج)
- واجهات برمجة التطبيقات
- مكتبات حاسوب مجانية
- عائلة لغات البرمجة Tcl
- مجموعات أدوات الأدوات المصغّرة
