اذهب إلى المحتوى
  • 0

دعم الإتجاه RTL

Ahmed Ahmed64

السؤال

Recommended Posts

  • 0

نعم يمكنك فعل هذه ، تقدم 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') 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 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

لا يوجد دعم رسمي لـ rtl في ملف tkinter الافتراضي. لنقل النص إلى اليمين فقط، يمكنك استخدام justify="right". و ايضا يجب استخدام مكون إضافي مثل "add_bidi_support"

اولا يجب عمل تثبيت ل awesometkinter

باستخدام هذه الامر :  pip install awesometkinter

بعد استخدام    justify="right" سوف نرى ان الزر تم نقل الي اليمين و لكن النص العربي غير مفهوم 

 

Screenshot_2024-01-27_21_09_17.thumb.png.8a2b604a932ed6465a92b79ee53e2c72.png

ولكن بعد استخدام add_bidi_support

Screenshot_2024-01-27_21_13_02.thumb.png.42b18270368e69c8c972956e65e35121.png

هذه الكود الخاص بك بعد التعديل : 

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()
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...