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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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") اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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() اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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") اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 الكود الذي ارسلته يشتغل بدون اي مشاكل، اذا قمت بتعديل آخر أرسل الكود الجديد. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Ahmed Ahmed64 نشر 27 ديسمبر 2023 الكاتب أرسل تقرير مشاركة نشر 27 ديسمبر 2023 هذا الخطأ ظهر عند إضافة هذا الكود self.button1.pack(side="right") هل من طريقة لقلب واجهة البرنامج ليصبح عربي اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Ahmed Ahmed64
السلام عليكم
كيفه نطبق خصائص CTkFrame مثل border_width أو border_color على كود مكتوب بهذه الكيفية
حاولت ولاكن لم تنجح
الرجاء التوضيح لو سمحتم
رابط هذا التعليق
شارك على الشبكات الإجتماعية
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.