Ahmed Ahmed64 نشر 27 يناير أرسل تقرير نشر 27 يناير السلام عليكم التحقق ومراجعة الكود الخاص بقلب الواجهة للعربية أي RTL حيث لم ينجح الكود في قلب الاتجاه المفترض أن يكون العمود 0 الصف 0 يمين الشاشة بعد هذا الكود 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() اقتباس
0 El Sayed El Tohamy نشر 27 يناير أرسل تقرير نشر 27 يناير وعليكم السلام ورحمة الله، يمكنك استخدام الوظيفة place بدلًا من grid 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', 'right') self.Button1 = ctk.CTkButton(self, text="فتح") #self.Button1.grid(row=0, column=0, pady=(5, 5),padx=(5, 5), sticky="e") self.Button1.place(relx=0.9, y=10, anchor=tk.E) app = App() app.mainloop() لاحظ أننا استخدمنا relx = 0.9 وهذا سيجعل المسافة الأفقية تبعد عن حافة النافذة بمقدار 90%، ونلاحظ استخدام anchor=tk.E والتي تعني أن يحافظ على المسافة اليمنى لأن E تعني الشرق أي اليمين. اقتباس
0 Ahmed Ahmed64 نشر 27 يناير الكاتب أرسل تقرير نشر 27 يناير بتاريخ 16 دقائق مضت قال El Sayed El Tohamy: وعليكم السلام ورحمة الله، يمكنك استخدام الوظيفة place بدلًا من grid 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', 'right') self.Button1 = ctk.CTkButton(self, text="فتح") #self.Button1.grid(row=0, column=0, pady=(5, 5),padx=(5, 5), sticky="e") self.Button1.place(relx=0.9, y=10, anchor=tk.E) app = App() app.mainloop() لاحظ أننا استخدمنا relx = 0.9 وهذا سيجعل المسافة الأفقية تبعد عن حافة النافذة بمقدار 90%، ونلاحظ استخدام anchor=tk.E والتي تعني أن يحافظ على المسافة اليمنى لأن E تعني الشرق أي اليمين. أستاذي هل تقصد أن الكود هذا لا يستخدم مع grid self.option_add('*Ttk*direction', 'right') اقتباس
0 El Sayed El Tohamy نشر 27 يناير أرسل تقرير نشر 27 يناير بتاريخ 7 دقائق مضت قال Ahmed Ahmed64: أستاذي هل تقصد أن الكود هذا لا يستخدم مع grid لاحظ أن دعم الاتجاه من اليمين لليسار ليس متطورًا بالقدر الكافي في مكتبة tkinter، حتى في التوثيق الرسمي لها لم يذكروا شيئًا مفيدًا بخصوص هذا الموضوع، لذلك نستخدم الخصائص المتوافرة للحصول على أقرب النتائج لما نريده، على سبيل المثال السطر التالي لمحاولة جعل الأداة تنحاز لجهة اليمين حتى مع تحجيم النافذة. بتاريخ منذ ساعة مضت قال El Sayed El Tohamy: self.Button1.place(relx=0.9, y=10, anchor=tk.E) أما السطر التالي، فإنه يقوم بجعل اتجاه النصوص والأيقونات على الأدوات متجهة من اليمين (بالتأكيد ليس مدعومًا لكل الأدوات)، لذلك أيضًا نستعمل الخصائص المتوافرة لدينا لحل هذه المشكلة بتاريخ 55 دقائق مضت قال Ahmed Ahmed64: self.option_add('*Ttk*direction', 'right') على سبيل المثال أداة الإدخال في tk نستخدم خاصية justify لجعل الاتجاه يمين self.entry1 = tk.Entry(self) self.entry1.config(justify=tk.RIGHT) وهكذا نحاول التغلب على القصور الموجود بالمكتبة. 1 اقتباس
السؤال
Ahmed Ahmed64
السلام عليكم
التحقق ومراجعة الكود الخاص بقلب الواجهة للعربية أي RTL
حيث لم ينجح الكود في قلب الاتجاه
المفترض أن يكون العمود 0 الصف 0 يمين الشاشة بعد هذا الكود
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.