Ahmed Ahmed64 نشر 27 ديسمبر 2023 أرسل تقرير نشر 27 ديسمبر 2023 السلام عليكم كيفه نطبق خصائص CTkFrame مثل border_width أو border_color على كود مكتوب بهذه الكيفية حاولت ولاكن لم تنجح الرجاء التوضيح لو سمحتم import customtkinter class Frame1(customtkinter.CTkFrame): def __init__(self, master,border_color,border_width,fg_color): super().__init__(master) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") class Frame2(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.checkbox_1 = customtkinter.CTkCheckBox(self, text="checkbox 1") self.checkbox_1.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class Frame3(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button2 = customtkinter.CTkButton(self, text="خروج", state="disabled", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button2.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class App(customtkinter.CTk): def __init__(self): super().__init__() self.title("my app") self.geometry("400x180") self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) self.Frame_A = Frame1(self,"red",10,"red") self.Frame_A.grid(row=0, column=0, padx=1, pady=(1, 0), sticky="nswe") self.Frame_B = Frame2(self) self.Frame_B.grid(row=0, column=1, padx=1, pady=(1, 0), sticky="nswe") self.Frame_C = Frame3(self) self.Frame_C.grid(row=1, column=0, padx=1, pady=(1, 10), sticky="nswe") app = App() app.mainloop() 1 اقتباس
0 Chihab Hedidi نشر 27 ديسمبر 2023 أرسل تقرير نشر 27 ديسمبر 2023 يمكنك ذلك باستخدام الميثود configure و ذلك بإستخادم المدخلات الخاصة بك و هذا كود ال Frame1 معدل و يمكنك تعديل باقي الكود بنفس الطريقة: class Frame1(customtkinter.CTkFrame): def __init__(self, master, border_color, border_width, fg_color): super().__init__(master) self.configure(border_width=border_width,border_color=border_color,fg_color=fg_color) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") و هذه صورة للنتيجة: 1 اقتباس
0 Ahmed Ahmed64 نشر 27 ديسمبر 2023 الكاتب أرسل تقرير نشر 27 ديسمبر 2023 بتاريخ 6 دقائق مضت قال Chihab Hedidi: يمكنك ذلك باستخدام الميثود configure و ذلك بإستخادم المدخلات الخاصة بك و هذا كود ال Frame1 معدل و يمكنك تعديل باقي الكود بنفس الطريقة: class Frame1(customtkinter.CTkFrame): def __init__(self, master, border_color, border_width, fg_color): super().__init__(master) self.configure(border_width=border_width,border_color=border_color,fg_color=fg_color) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") و هذه صورة للنتيجة: أحسنت أخي بارك الله فيك إذا يجب إستخدام configure لذلك سؤال لماذا لايتم التمرير مباشرة داخل كلاس class App وهل يمكن ذلك self.Frame_A = Frame1(self) self.Frame_A.grid(row=0, column=0, padx=1, pady=(1, 0), sticky="nswe") اقتباس
0 Chihab Hedidi نشر 27 ديسمبر 2023 أرسل تقرير نشر 27 ديسمبر 2023 بتاريخ 11 دقائق مضت قال Ahmed Ahmed64: أحسنت أخي بارك الله فيك إذا يجب إستخدام configure لذلك سؤال لماذا لايتم التمرير مباشرة داخل كلاس class App وهل يمكن ذلك في المثال الذي ارسلته قمت بالتمرير من داخل class App مثل الكود الذي كان موجود: self.Frame_A = Frame1(self, "red", 3, "blue") و هذا الكود كامل اذا اردت تجربه: import customtkinter class Frame1(customtkinter.CTkFrame): def __init__(self, master, border_color, border_width, fg_color): super().__init__(master) self.configure(border_width=border_width,border_color=border_color,fg_color=fg_color) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") class Frame2(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.checkbox_1 = customtkinter.CTkCheckBox(self, text="checkbox 1") self.checkbox_1.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class Frame3(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button2 = customtkinter.CTkButton(self, text="خروج", state="disabled", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button2.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class App(customtkinter.CTk): def __init__(self): super().__init__() self.title("my app") self.geometry("400x180") self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) self.Frame_A = Frame1(self, "red", 3, "blue") self.Frame_A.grid(row=0, column=0, padx=1, pady=(1, 0), sticky="nswe") self.Frame_B = Frame2(self) self.Frame_B.grid(row=0, column=1, padx=1, pady=(1, 0), sticky="nswe") self.Frame_C = Frame3(self) self.Frame_C.grid(row=1, column=0, padx=1, pady=(1, 10), sticky="nswe") app = App() app.mainloop() اقتباس
0 Ahmed Ahmed64 نشر 27 ديسمبر 2023 الكاتب أرسل تقرير نشر 27 ديسمبر 2023 (معدل) بتاريخ 10 دقائق مضت قال Chihab Hedidi: في المثال الذي ارسلته قمت بالتمرير من داخل class App مثل الكود الذي كان موجود: self.Frame_A = Frame1(self, "red", 3, "blue") و هذا الكود كامل اذا اردت تجربه: import customtkinter class Frame1(customtkinter.CTkFrame): def __init__(self, master, border_color, border_width, fg_color): super().__init__(master) self.configure(border_width=border_width,border_color=border_color,fg_color=fg_color) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") class Frame2(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.checkbox_1 = customtkinter.CTkCheckBox(self, text="checkbox 1") self.checkbox_1.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class Frame3(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button2 = customtkinter.CTkButton(self, text="خروج", state="disabled", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button2.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class App(customtkinter.CTk): def __init__(self): super().__init__() self.title("my app") self.geometry("400x180") self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) self.Frame_A = Frame1(self, "red", 3, "blue") self.Frame_A.grid(row=0, column=0, padx=1, pady=(1, 0), sticky="nswe") self.Frame_B = Frame2(self) self.Frame_B.grid(row=0, column=1, padx=1, pady=(1, 0), sticky="nswe") self.Frame_C = Frame3(self) self.Frame_C.grid(row=1, column=0, padx=1, pady=(1, 10), sticky="nswe") app = App() app.mainloop() أخي من الممكن أن سؤالي كان غير مفهوم لديك أقصد لماذا لم أمرر من خلال class App بحيث كتب مثلا border_color = " red لدي سؤال أخر كيف أستطيع أن أجعل واجهة التطبيق تقرأ العمود 0 من ناحية اليمين وليس الشمال المقصود أخي تعريب الواجهة تم التعديل في 27 ديسمبر 2023 بواسطة Ahmed Ahmed64 اقتباس
0 Chihab Hedidi نشر 27 ديسمبر 2023 أرسل تقرير نشر 27 ديسمبر 2023 بتاريخ 14 دقائق مضت قال Ahmed Ahmed64: أخي من الممكن أن سؤالي كان غير مفهوم لديك أقصد لماذا لم أمرر من خلال class App بحيث كتب مثلا border_color = " red لدي سؤال أخر كيف أستطيع أن أجعل واجهة التطبيق تقرأ العمود 0 من ناحية اليمين وليس الشمال المقصود أخي تعريب الواجهة نعم يمكنك ذلك بحدث الكود من داخل Fram1 و تكتبه داخل App بهذه الطريقة: import customtkinter class Frame1(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") class Frame2(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.checkbox_1 = customtkinter.CTkCheckBox(self, text="checkbox 1") self.checkbox_1.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class Frame3(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button2 = customtkinter.CTkButton(self, text="خروج", state="disabled", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button2.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class App(customtkinter.CTk): def __init__(self): super().__init__() self.title("my app") self.geometry("400x180") self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) self.Frame_A = Frame1(self) self.Frame_A.configure(border_color="red", border_width=3 ,fg_color="blue") self.Frame_A.grid(row=0, column=0, padx=1, pady=(1, 0), sticky="nswe") self.Frame_B = Frame2(self) self.Frame_B.grid(row=0, column=1, padx=1, pady=(1, 0), sticky="nswe") self.Frame_C = Frame3(self) self.Frame_C.grid(row=1, column=0, padx=1, pady=(1, 10), sticky="nswe") app = App() app.mainloop() اما بخصوص التعريب يمكنك استخدام الميثود pack كهذا المثال: self.button1.pack(side="right") اقتباس
0 Ahmed Ahmed64 نشر 27 ديسمبر 2023 الكاتب أرسل تقرير نشر 27 ديسمبر 2023 بتاريخ 9 دقائق مضت قال Chihab Hedidi: نعم يمكنك ذلك بحدث الكود من داخل Fram1 و تكتبه داخل App بهذه الطريقة: import customtkinter class Frame1(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button1 = customtkinter.CTkButton(self, text="إختيار ملف", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button1.grid(row=0, column=1, padx=3, pady=(3, 0), sticky="w") class Frame2(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.checkbox_1 = customtkinter.CTkCheckBox(self, text="checkbox 1") self.checkbox_1.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class Frame3(customtkinter.CTkFrame): def __init__(self, master): super().__init__(master) self.button2 = customtkinter.CTkButton(self, text="خروج", state="disabled", font=customtkinter.CTkFont(family="Calibri", size=12, weight="bold")) self.button2.grid(row=0, column=0, padx=3, pady=(3, 0), sticky="w") class App(customtkinter.CTk): def __init__(self): super().__init__() self.title("my app") self.geometry("400x180") self.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) self.Frame_A = Frame1(self) self.Frame_A.configure(border_color="red", border_width=3 ,fg_color="blue") self.Frame_A.grid(row=0, column=0, padx=1, pady=(1, 0), sticky="nswe") self.Frame_B = Frame2(self) self.Frame_B.grid(row=0, column=1, padx=1, pady=(1, 0), sticky="nswe") self.Frame_C = Frame3(self) self.Frame_C.grid(row=1, column=0, padx=1, pady=(1, 10), sticky="nswe") app = App() app.mainloop() اما بخصوص التعريب يمكنك استخدام الميثود pack كهذا المثال: self.button1.pack(side="right") لدي هذا الخطأ tkinter.TclError: cannot use geometry manager grid inside .!frame1 which already has slaves managed by pack اقتباس
0 Chihab Hedidi نشر 27 ديسمبر 2023 أرسل تقرير نشر 27 ديسمبر 2023 بتاريخ 4 دقائق مضت قال Ahmed Ahmed64: لدي هذا الخطأ tkinter.TclError: cannot use geometry manager grid inside .!frame1 which already has slaves managed by pack الكود الذي ارسلته يشتغل بدون اي مشاكل، اذا قمت بتعديل آخر أرسل الكود الجديد. اقتباس
0 Ahmed Ahmed64 نشر 27 ديسمبر 2023 الكاتب أرسل تقرير نشر 27 ديسمبر 2023 هذا الخطأ ظهر عند إضافة هذا الكود self.button1.pack(side="right") هل من طريقة لقلب واجهة البرنامج ليصبح عربي اقتباس
السؤال
Ahmed Ahmed64
السلام عليكم
كيفه نطبق خصائص CTkFrame مثل border_width أو border_color على كود مكتوب بهذه الكيفية
حاولت ولاكن لم تنجح
الرجاء التوضيح لو سمحتم
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.