محمد الشعيلي نشر 4 يونيو 2023 أرسل تقرير نشر 4 يونيو 2023 (معدل) مرحبا , اعمل في تطبيق سطح مكتب بلغة Python و مكتبة Tkinter و لككني اريد ان تتغير قيم القائمة المنسدلة في التطبيق باستخدام متغيرات Tkinter مثل (()StringVar) ارجو منكم مساعدتي و شكرا مقدما. تم التعديل في 4 يونيو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 4 يونيو 2023 أرسل تقرير نشر 4 يونيو 2023 هناك متغيرات في Tkinter مثل StringVar لتحديث قيم القوائم المنسدلة في تطبيقك، وفيما يلي مثال يوضح الأمر لك: import tkinter as tk from tkinter import ttk def update_dropdown(): selected_value.set("New Value") # تحديث قيمة المتغير root = tk.Tk() selected_value = tk.StringVar(root) selected_value.set("Default Value") # القيمة الافتراضية للمتغير dropdown = ttk.Combobox(root, textvariable=selected_value, values=["Option 1", "Option 2", "Option 3"]) dropdown.pack() update_button = tk.Button(root, text="تحديث القائمة", command=update_dropdown) update_button.pack() root.mainloop() قمت بإنشاء متغير selected_value باستخدام StringVar وتعيين القيمة الافتراضية له، ثم إنشاء قائمة منسدلة باستخدام ttk.Combobox وربطها بالمتغير selected_value باستخدام الخاصية textvariable. وعند تحديث قيمة المتغير باستخدام الدالة set()، سيتم تحديث قيمة القائمة المنسدلة تلقائيًا. أيضًا قمت بإضافة زر يقوم بتحديث قيمة المتغير عند النقر عليه، وبإمكانك تغيير القيم المتاحة في القائمة المنسدلة بتعديل قائمة values الموجودة في ttk.Combobox. اقتباس
0 عبدالباسط ابراهيم نشر 4 يونيو 2023 أرسل تقرير نشر 4 يونيو 2023 يمكن تحديث قيمة قائمة منسدلة في Tkinter باستخدام المتغيرات النصية StringVar. يمكنك تعريف متغير StringVar باستخدام الدالة StringVar() وتعيينه لقائمة منسدلة باستخدام خاصية القيمة (value) للقائمة المنسدلة. فيما يلي مثال عن كيفية تحديث قيمة قائمة منسدلة باستخدام متغير StringVar: import tkinter as tk root = tk.Tk() # تعريف متغير StringVar selected_option = tk.StringVar() # قائمة المنسدلة options = ['Option 1', 'Option 2', 'Option 3'] dropdown = tk.OptionMenu(root, selected_option, *options) dropdown.pack() # دالة التحديث لقائمة المنسدلة def update_dropdown(): new_options = ['New Option 1', 'New Option 2', 'New Option 3'] dropdown['menu'].delete(0, 'end') for option in new_options: dropdown['menu'].add_command(label=option, command=tk._setit(selected_option, option)) selected_option.set(new_options[0]) # زر التحديث update_button = tk.Button(root, text="Update Dropdown", command=update_dropdown) update_button.pack() root.mainloop() في هذا المثال، تم تعريف متغير StringVar باسم selected_option وتعيينه لقائمة منسدلة باستخدام خاصية القيمة (value) للقائمة المنسدلة. ثم تم إنشاء دالة update_dropdown() التي تحدث القائمة المنسدلة باستخدام خاصية القائمة (menu) وتعيين الخيار المحدد لأول خيار في القائمة الجديدة. وأخيرًا، تم إنشاء زر update_button الذي يقوم بتحديث قائمة المنسدلة عند النقر عليه. اقتباس
0 محمد الشعيلي نشر 4 يونيو 2023 الكاتب أرسل تقرير نشر 4 يونيو 2023 بتاريخ 2 ساعة قال Mustafa Suleiman: هناك متغيرات في Tkinter مثل StringVar لتحديث قيم القوائم المنسدلة في تطبيقك، وفيما يلي مثال يوضح الأمر لك: import tkinter as tk from tkinter import ttk def update_dropdown(): selected_value.set("New Value") # تحديث قيمة المتغير root = tk.Tk() selected_value = tk.StringVar(root) selected_value.set("Default Value") # القيمة الافتراضية للمتغير dropdown = ttk.Combobox(root, textvariable=selected_value, values=["Option 1", "Option 2", "Option 3"]) dropdown.pack() update_button = tk.Button(root, text="تحديث القائمة", command=update_dropdown) update_button.pack() root.mainloop() قمت بإنشاء متغير selected_value باستخدام StringVar وتعيين القيمة الافتراضية له، ثم إنشاء قائمة منسدلة باستخدام ttk.Combobox وربطها بالمتغير selected_value باستخدام الخاصية textvariable. وعند تحديث قيمة المتغير باستخدام الدالة set()، سيتم تحديث قيمة القائمة المنسدلة تلقائيًا. أيضًا قمت بإضافة زر يقوم بتحديث قيمة المتغير عند النقر عليه، وبإمكانك تغيير القيم المتاحة في القائمة المنسدلة بتعديل قائمة values الموجودة في ttk.Combobox. عذرا استاذ مصطفى و لكن وكما يبدو لي انك لم تعي ما اقصد انا اريد تبديل القيم المتاحة و ليس القيمة المحددة اشكرك على الأجابة اقتباس
0 Mustafa Suleiman نشر 4 يونيو 2023 أرسل تقرير نشر 4 يونيو 2023 تستطيع استخدام الأسلوب configure للقائمة المنسدلة (Combobox) وتحديث قائمة القيم. import tkinter as tk from tkinter import ttk def update_dropdown_values(): new_values = ["New Option 1", "New Option 2", "New Option 3"] dropdown['values'] = new_values root = tk.Tk() dropdown = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3"]) dropdown.pack() update_button = tk.Button(root, text="تحديث القائمة", command=update_dropdown_values) update_button.pack() root.mainloop() وفي الكود تم إنشاء قائمة منسدلة (Combobox) وتعيين القيم الافتراضية لها باستخدام values الموجودة في البداية، ثم بإضافة زر يقوم بتحديث قيم القائمة المنسدلة عند النقر عليه. وعند النقر على الزر، تستدعى الدالة update_dropdown_values التي تقوم بتعديل values للقائمة المنسدلة وتعيين القيم الجديدة. اقتباس
0 محمد الشعيلي نشر 4 يونيو 2023 الكاتب أرسل تقرير نشر 4 يونيو 2023 بتاريخ 3 دقائق مضت قال Mustafa Suleiman: تستطيع استخدام الأسلوب configure للقائمة المنسدلة (Combobox) وتحديث قائمة القيم. import tkinter as tk from tkinter import ttk def update_dropdown_values(): new_values = ["New Option 1", "New Option 2", "New Option 3"] dropdown['values'] = new_values root = tk.Tk() dropdown = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3"]) dropdown.pack() update_button = tk.Button(root, text="تحديث القائمة", command=update_dropdown_values) update_button.pack() root.mainloop() وفي الكود تم إنشاء قائمة منسدلة (Combobox) وتعيين القيم الافتراضية لها باستخدام values الموجودة في البداية، ثم بإضافة زر يقوم بتحديث قيم القائمة المنسدلة عند النقر عليه. وعند النقر على الزر، تستدعى الدالة update_dropdown_values التي تقوم بتعديل values للقائمة المنسدلة وتعيين القيم الجديدة. انا استخدم هذه الطريقة بالفعل شكرا استاذ مصطفى و لكن انا اريد لقيم القائمة المنسدلة ان تتغير من دون configure لانه يوجد لدي اكثر من مكان لتخزين نفس القيم (قوائم منسدلة عديدة) يا لفرحتي لقد فعلتها و يسرني مشاركتكم هذا هو ما اريده import tkinter as tk import tkinter.ttk as ttk root = tk.Tk() # القائمة المنسدلة options = ['Option 1', 'Option 2', 'Option 3'] dropdown = ttk.Combobox(root, values=options) dropdown.pack() # دالة التحديث للقائمة المنسدلة def update_dropdown(): new_options = ['New Option 1', 'New Option 2', 'New Option 3'] dropdown['values'] = new_options # زر التحديث update_button = tk.Button(root, text="Update Dropdown", command=update_dropdown) update_button.pack() root.mainloop() لم استطع حذف القيم فقمت بتبديلها ليس الأ و هذا ما توصلت اليه شكرا لكم اقتباس
0 Mustafa Suleiman نشر 4 يونيو 2023 أرسل تقرير نشر 4 يونيو 2023 حاول استخدام المتغيرات StringVar المستقلة لتخزين القيم وتحديثها في جميع الأماكن المرتبطة بها. import tkinter as tk from tkinter import ttk def update_dropdown_values(): new_values = ["New Option 1", "New Option 2", "New Option 3"] selected_value.set("") # إعادة تعيين القيمة المحددة dropdown['values'] = new_values root = tk.Tk() selected_value = tk.StringVar(root) dropdown = ttk.Combobox(root, textvariable=selected_value, values=["Option 1", "Option 2", "Option 3"]) dropdown.pack() update_button = tk.Button(root, text="تحديث القائمة", command=update_dropdown_values) update_button.pack() root.mainloop() إنشاء متغير selected_value باستخدام StringVar لتخزين القيمة المحددة في القائمة المنسدلة، وعند تحديث قيمة القائمة، نقوم بإعادة تعيين القيمة المحددة باستخدام selected_value.set("") لضمان عدم وجود قيمة غير صحيحة محددة بعد تغيير القائمة. وتستطيع استخدام متغير selected_value في جميع القوائم المنسدلة المرتبطة به، وسيتم تحديث قيم القوائم المنسدلة تلقائيًا عند استدعاء الدالة update_dropdown_values التي تقوم بتحديث قيم القائمة. اقتباس
0 بلال زيادة نشر 5 يونيو 2023 أرسل تقرير نشر 5 يونيو 2023 بالطبع، يمكنك تغيير قيم القائمة المنسدلة في تطبيق Tkinter باستخدام متغيرات Tkinter مثل StringVar. هناك عدة خطوات يمكنك اتباعها لتحقيق ذلك. هيا نلقي نظرة على الخطوات التالية: استيراد مكتبة Tkinter: قم بإضافة استيراد لمكتبة Tkinter في بداية الكود الخاص بك: from tkinter import * إنشاء متغير StringVar: قم بإنشاء متغير StringVar باستخدام الدالة StringVar() وتعيينه للقيمة الافتراضية للقائمة المنسدلة: dropdown_value = StringVar() dropdown_value.set("Default Value") إنشاء قائمة منسدلة: قم بإنشاء عنصر القائمة المنسدلة باستخدام الدالة OptionMenu وتمرير المتغير StringVar كوسيطة، وقم بتعيين القيم الممكنة للقائمة: dropdown_menu = OptionMenu(root, dropdown_value, "Value 1", "Value 2", "Value 3") dropdown_menu.pack() حيث root هو النافذة الرئيسية لتطبيقك. تغيير قيمة القائمة المنسدلة: يمكنك تغيير قيمة القائمة المنسدلة عند الحاجة بتحديث قيمة المتغير StringVar. يمكنك استخدام الدالة set() لتعيين قيمة جديدة للمتغير، وسيتم تحديث قائمة الاختيار تلقائيًا: dropdown_value.set("New Value") هذه هي الخطوات الأساسية لتغيير قيم القائمة المنسدلة باستخدام متغيرات Tkinter مثل StringVar. يمكنك تكرار هذه الخطوات لإنشاء قوائم منسدلة أخرى وتحديث قيمها بنفس الطريقة. اقتباس
السؤال
محمد الشعيلي
مرحبا ,
اعمل في تطبيق سطح مكتب بلغة Python و مكتبة Tkinter
و لككني اريد ان تتغير قيم القائمة المنسدلة في التطبيق باستخدام متغيرات Tkinter مثل (()StringVar)
ارجو منكم مساعدتي
و شكرا مقدما.
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.