Ahmed Ahmed64 نشر 26 يناير أرسل تقرير نشر 26 يناير السلام عليكم كيف أستطيع دعم الاتجاه RTL على مكتبة customtkinter أريد قلب الواجهة للعربية هل هذا ممكن أي أن يكون العمود 0 ناحية يمين الشاشة اقتباس
0 كمال احمد2 نشر 27 يناير أرسل تقرير نشر 27 يناير نعم يمكنك فعل هذه ، تقدم Tkinter خيارًا يسمى direction، يمكن تعيينه إلى "right-to-left" لتمكين التخطيط من اليمين إلى اليسار. يمكنك تعيين هذا الخيار للتطبيق بأكمله أو لعناصر واجهة المستخدم الفردية : root = tk.Tk() root.option_add('*Ttk*direction', 'rtl') # تعيين الاتجاه لجميع عناصر ttk إذا كنت ترغب في تعيينه لعناصر محددة، قم بتبديل *Ttk* بالاسم الأسلوب المناسب (على سبيل المثال، *TButton*direction). مثال على استخدام "CustomTkinter" : import CustomTkinter as ctk root = ctk.CustomTk() root.option_add('*Ttk*direction', 'rtl') 1 اقتباس
0 Ahmed Ahmed64 نشر 27 يناير الكاتب أرسل تقرير نشر 27 يناير بتاريخ 3 ساعة قال كمال احمد2: نعم يمكنك فعل هذه ، تقدم Tkinter خيارًا يسمى direction، يمكن تعيينه إلى "right-to-left" لتمكين التخطيط من اليمين إلى اليسار. يمكنك تعيين هذا الخيار للتطبيق بأكمله أو لعناصر واجهة المستخدم الفردية : root = tk.Tk() root.option_add('*Ttk*direction', 'rtl') # تعيين الاتجاه لجميع عناصر ttk إذا كنت ترغب في تعيينه لعناصر محددة، قم بتبديل *Ttk* بالاسم الأسلوب المناسب (على سبيل المثال، *TButton*direction). مثال على استخدام "CustomTkinter" : import CustomTkinter as ctk root = ctk.CustomTk() root.option_add('*Ttk*direction', 'rtl') هل عند استخدام الكلاس يوضع الكود بهذه الكيفية import customtkinter as ctk import tkinter as tk from tkinter import ttk class App(ctk.CTk,tk.Tk): def __init__(self): super().__init__() ctk.set_appearance_mode("dark") ctk.set_default_color_theme("green") self.option_add('*Ttk*direction', 'rtl') self.Button1 = ctk.CTkButton(self, text="فتح") self.Button1.grid(row=0, column=0, pady=(5, 5),padx=(5, 5), sticky="e") app = App() app.mainloop() عند التنفيذ يظهر Button ناحية اليسار اقتباس
0 كمال احمد2 نشر 28 يناير أرسل تقرير نشر 28 يناير لا يوجد دعم رسمي لـ rtl في ملف tkinter الافتراضي. لنقل النص إلى اليمين فقط، يمكنك استخدام justify="right". و ايضا يجب استخدام مكون إضافي مثل "add_bidi_support" اولا يجب عمل تثبيت ل awesometkinter باستخدام هذه الامر : pip install awesometkinter بعد استخدام justify="right" سوف نرى ان الزر تم نقل الي اليمين و لكن النص العربي غير مفهوم : ولكن بعد استخدام add_bidi_support : هذه الكود الخاص بك بعد التعديل : import customtkinter as ctk import tkinter as tk from tkinter import ttk from awesometkinter.bidirender import add_bidi_support class CustomEntry(tk.Entry): def __init__(self, master=None, **kwargs): tk.Entry.__init__(self, master, **kwargs) class App(ctk.CTk, tk.Tk): def __init__(self): super().__init__() ctk.set_appearance_mode("dark") ctk.set_default_color_theme("green") self.Entry1 = CustomEntry(self, font=('any', 20), justify='right') add_bidi_support(self.Entry1) self.Entry1.grid(row=1, column=0, pady=(5, 5), padx=(5, 5), sticky="e") self.Button1 = ctk.CTkButton(self, text="فتح") self.Button1.grid(row=0, column=1, pady=(5, 5), padx=(5, 5), sticky="e") app = App() app.mainloop() اقتباس
السؤال
Ahmed Ahmed64
السلام عليكم
كيف أستطيع دعم الاتجاه RTL على مكتبة customtkinter
أريد قلب الواجهة للعربية هل هذا ممكن أي أن يكون العمود 0 ناحية يمين الشاشة
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.