Ashraf Abdelkader نشر 26 أغسطس أرسل تقرير نشر 26 أغسطس السلام عليكم ورحمة الله وبركاته قمت بعمل برنامج يعتمد أساساً علي برنامج الآلة الحاسبة. لكن المطلوب اضافة tooltip إلي كل زر، وتحديداً إلي الكود التالي، ومع العلم بأني جربت بالفعل عدة أكواد لكنها لم تعمل. def create_button(self, text, row, column): button = tk.Button(self.master, text=text, width=11, height=2, font=('Arial', 16), command=lambda: self.button_click(text)) button.grid(row=row, column=column, padx=5, pady=5) فكرة الكود الكامل فى حالة الرغبة فى الاطلاع (هذه الفكرة تظهر الأسطر الرئيسية فقط التى يمكن عبرها فهم فكرة الكود) import tkinter as tk class Calculator: def __init__(self, master): self.master = master master.title("برنامج تحويل التقويم الياباني") master.configure(background="light green") master.geometry("1000x1000") # Create the entry field self.entry = tk.Entry(master, width=30, justify='right', font=('Arial', 16)) self.entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10) # Create the buttons self.create_button("1", 1, 0) self.create_button("明治", 1, 4) def create_button(self, text, row, column): button = tk.Button(self.master, text=text, width=11, height=2, font=('Arial', 16), command=lambda: self.button_click(text)) button.grid(row=row, column=column, padx=5, pady=5) def button_click(self, text): if text == "=": try: result = str(eval(self.entry.get())) self.entry.delete(0, tk.END) self.entry.insert(0, result) except: self.entry.delete(0, tk.END) self.entry.insert(0, "Error") elif text == "CLR": self.entry.delete(0, tk.END) elif text == "BCKSP": self.entry.delete(len(self.entry.get())-1, tk.END) elif text == "明治": self.entry.insert(0, 1868) else: self.entry.insert(tk.END, text) root = tk.Tk() calculator = Calculator(root) root.mainloop() 1 اقتباس
0 Khaled Osama3 نشر 26 أغسطس أرسل تقرير نشر 26 أغسطس بعد مراجعة الكود، لم أجد أي أخطاء كبيرة تعيق فكرة التشغيل. و لكن هناك بعض النقاط يمكن تحسينها او تكون سبب لمشاكل صغيرة في الكود، مثل: قم بإضافة المكتبة المناسبة وهي tooltip وفي حال كنت تجرب إضافة Tooltip بطريقة مختلفة، فقد لا تكون مدعومة بشكل ما مع Tkinter. او قم بإضافة ال parameter الرابع وهو يكون النص الذي يظهر في الـ Tooltip: self.create_button("1", 1, 0, "اضغط لإدخال الرقم 1") بالتوفيق 1 اقتباس
0 Ashraf Abdelkader نشر 26 أغسطس الكاتب أرسل تقرير نشر 26 أغسطس (معدل) بتاريخ 4 ساعة قال Khaled Osama3: بعد مراجعة الكود، لم أجد أي أخطاء كبيرة تعيق فكرة التشغيل. و لكن هناك بعض النقاط يمكن تحسينها او تكون سبب لمشاكل صغيرة في الكود، مثل: قم بإضافة المكتبة المناسبة وهي tooltip وفي حال كنت تجرب إضافة Tooltip بطريقة مختلفة، فقد لا تكون مدعومة بشكل ما مع Tkinter. او قم بإضافة ال parameter الرابع وهو يكون النص الذي يظهر في الـ Tooltip: self.create_button("1", 1, 0, "اضغط لإدخال الرقم 1") بالتوفيق شكراً جزيلاً لردكم السريع. اخترت اضافة ال parameter الرابع self.create_button("慶長", 1, 4, "أقصي رقم للادخال هو 19") فكرة الكود: import tkinter as tk from tkinter import ttk class Calculator: def __init__(self, master): self.master = master master.title("برنامج تحويل التقويم الياباني") master.configure(background="light green") master.geometry("1300x1300") # Create a Balloon widget for tooltips tool_tip = Balloon(master) # Create the buttons self.create_button("1", 1, 0, tooltip="") self.create_button("慶長", 1, 4, tooltip="Max number is 19") def create_button(self, text, row, column, tooltip): button = tk.Button(self.master, text=text, width=11, height=2, font=('Arial', 16), command=lambda: self.button_click(text)) button.grid(row=row, column=column, padx=5, pady=5) نجح تنفيذ الكود دون أخطاء فى التيرمينال لكن الtooltip لا يظهر لسبب ما.. حتي مع الأزرار التي أضع لها نص يظهر ك tooltip. ............................................................................................................. الكود التالي يعمل (أعلم أنني أستخدم هنا tix القديم لكن هذا ما نجح تنفيذه) لكن المشكلة هي أنني أريد كود يعمل مع برنامج الآلة الحاسبة تحديداً. وهناك مشكلة أخري فى ذلك الكود الذي يعمل، وهي أنه نجح مع عيب واحد، فاذا هم المستخدم بالذهاب إلي الزر للضغط عليه لا تظهر الtooltip، وانما عليه الانتظار لبعض الوقت علي الزر حتي تظهر الtooltip، وذلك برغم عدم تعيين delay. from tkinter import * from tkinter.tix import * # Create the main application window root = Tk() root.geometry("900x900") root.title("برنامج تحويل التقويم الياباني") # Create a Balloon widget for tooltips tool_tip = Balloon(root) # Create a button widget meiji = Button(root, text="明治", bg="green", fg="white", font="Mincho, 11") meiji.pack(pady=3) # Assign tooltips to the widgets tool_tip.bind_widget(meiji, balloonmsg="أقصي قيمة صالحة هي 45") .............................................................................................................. بخصوص فكرة استيراد مكتبة واستخدامها فقد جربت بالفعل بعض المكتبات_ ومن بينها هذه المكتبة. لكنها تعمل مع أي برنامج أقوم بعمله باستثناء برنامج الآلة الحاسبة. تم التعديل في 26 أغسطس بواسطة Ashraf Abdelkader كنت أضع الردود منفصلة لكن الموقع قام بدمجها تلقائياً، فوضعت أسطر منقطة للفصل بينها. اقتباس
السؤال
Ashraf Abdelkader
السلام عليكم ورحمة الله وبركاته
قمت بعمل برنامج يعتمد أساساً علي برنامج الآلة الحاسبة.
لكن المطلوب اضافة tooltip إلي كل زر، وتحديداً إلي الكود التالي، ومع العلم بأني جربت بالفعل عدة أكواد لكنها لم تعمل.
فكرة الكود الكامل فى حالة الرغبة فى الاطلاع (هذه الفكرة تظهر الأسطر الرئيسية فقط التى يمكن عبرها فهم فكرة الكود)
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.