عمار هبه نشر 2 أكتوبر 2023 أرسل تقرير نشر 2 أكتوبر 2023 (معدل) كيف لي ان احسب عدد مرات الضغط في تكنتر تم التعديل في 2 أكتوبر 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 2 اقتباس
0 Mustafa Suleiman نشر 2 أكتوبر 2023 أرسل تقرير نشر 2 أكتوبر 2023 ما تقصدينه هو حساب عدد مرات الضغط في tkinter والطريقة المباشرة هي استخدام عداد، وتستطيعي إنشاء عداد جديد باستخدام وظيفة IntVar(). from tkinter import * root = Tk() # إنشاء عداد counter = IntVar() counter.set(0) # تحديث العداد عند الضغط على الزر def count(): counter.set(counter.get() + 1) label.config(text=f"عدد مرات الضغط: {counter.get()}") # إنشاء زر button = Button(root, text="ضغط", command=count) button.pack() # إنشاء علامة لعرض عدد مرات الضغط label = Label(root, text="عدد مرات الضغط: 0") label.pack() root.mainloop() حيث يتم إنشاء عداد جديد يسمى counter، ثم تعيين العداد على 0 في البداية، وإنشاء زر جديد يسمى button، بعد ذلك عند الضغط على الزر، يتم تحديث العداد بمقدار 1 وعرض عدد مرات الضغط الحالي على علامة تسمى label. 1 اقتباس
0 عمار معلا نشر 2 أكتوبر 2023 أرسل تقرير نشر 2 أكتوبر 2023 يمكنك حساب عدد مرات الضغط على زر ما بنفس طريقة التعليق السابق عبر انشاء عداد بقيمة 0 وزيادة قيمة العداد بمقدار 1 عند الضغط على الزر، ولكن عبر تعريف متحول count كمتحول عام باستخدام global لكي نستطيع الوصول إليه من أي مكان في الكود import tkinter as tk def counter(): global count count += 1 label.config(text="عدد مرات الضغط الحالية: " + str(count)) count = 0 root = tk.Tk() button = tk.Button(root, text="اضغط هنا", command=counter) button.pack() label = tk.Label(root, text="عدد مرات الضغط الحالية: 0") label.pack() root.mainloop() فقط الاختلاف عن الكود السابق هو في تعريف التابع counter الذي تتم فيه عملية تحديث count حيث تم تعريفه ك global وبالتالي في اول ضغطه سوف تصبح قيمة count=1 وبعد ثاني ضغطه يصبح count=1+1=2 مع عرض عدد مرات الضغط الحالية في كل مرة لو لم يتم وضع global سوف يعطي ذلك خطأ لأنه لن نستطيع الوصول إلى المتحول count وتحديثه باعتباره متحول محلي إي لا يمكن الوصول إلى من اي مكان في الكود. 1 اقتباس
السؤال
عمار هبه
كيف لي ان احسب عدد مرات الضغط في تكنتر
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.