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

السؤال

نشر

مساعدة في إدراج قيم من القاموس إلى أداة Combobox

مساعدة على هذا الكود

from tkinter import *

from tkinter import ttk

from openpyxl.workbook import workbook

from openpyxl import load_workbook

# قمت بإنشاء نافذه

FORM_A=Tk()

FORM_A.geometry('800x500')

# قمت بفتح ملف الأكسل و ورقة العمل

w_book1=load_workbook('Employee.xlsx')

sheet_1=w_book1.active



# قمت بتحويل الحدول بورقة العمل إلى قاموس

employee={}

i=1

for row in sheet_1.iter_rows(min_row=1, max_row=9,min_col=1,max_col=5,values_only=True):

    id=i

    st={"Employee-number":row[0],"Employee-name":row[1],"employee-phone":row[2],"Employee-email":row[3],}

    i+=1

    employee[id]=st

print(employee)



# هنا أريد إدراج قيم العود الأول

Combo1=ttk.Combobox(FORM_A,width=50).pack(pady=30)



# هنا أريد إدراج قيمة العود الثاني المقابلة للعمود الأول عند الإختيار من أداة الكومبوبكس

Entry1=Entry(FORM_A,width=50).pack(pady=30)



FORM_A.mainloop()

Employee.rar

Recommended Posts

  • 0
نشر

سأساعدك في كيفية إيجاد قيم العمود الأول من القاموس و أعتقد أنك عندها تستطيع إضافتهم بسهولة إلى ال combo (يجب أن يكون هناك تعليمة جاهزة لإضافة list).

سأستعمل قاموس شبيه بما قمت بكتابته و لكن سأضع قيم عشوائية من أجل المثال فقط.

d = {
	1: {"Employee-number":11,"Employee-name":"n1","employee-phone":111,"Employee-email":"e1"},
	2: {"Employee-number":22,"Employee-name":"n2","employee-phone":222,"Employee-email":"e2"},
	3: {"Employee-number":33,"Employee-name":"n3","employee-phone":333,"Employee-email":"e3"}
}
 
numbers = [row["Employee-number"] for row in d.values()]
 
names = [row["Employee-name"] for row in d.values()]
 
print(numbers)
print('-'*20)
print(names)

# output:
# [11, 22, 33]
# --------------------
# ['n1', 'n2', 'n3']

يمكن جلب قيم أي عمود بنفس الطريقة، لاحظ هنا أن values تقوم بجلب القيم الخاصة بالقاموس، في حال كنت تريد المفاتيح بالإضافة إلى القيم يمكنك استعمال items بدلاً من values، و ستجلب لك المفتاح و القيمة المقابلة له.

  • 0
نشر

رائع أخي Kais Hasan أشكرك جزيل الشكر :,,,, لقد قمت بتطبيق الكود وتحصلت على النتيجة التي أردتها داخل أداة combo

أرجو من حضرتك لو تساعدني كيف أستطيع عند إختيار قيمة من أداة combo أن تظهر القيمة المقابلة لها من العمود الثاني أو على سبيل المثال العمود الثالت حيث أضهر النتيحة في مربع النص

from tkinter import *

from tkinter import ttk

from openpyxl.workbook import workbook

from openpyxl import load_workbook

 

FORM_A=Tk()

FORM_A.geometry('800x500')

 

w_book1=load_workbook('Employee.xlsx')

sheet_1=w_book1.active

 

employee={}

i=1

for row in sheet_1.iter_rows(min_row=1, max_row=9,min_col=1,max_col=5,values_only=True):

    id=i

    st={"Employee-number":row[0],"Employee-name":row[1],"employee-phone":row[2],"Employee-email":row[3],}

    i+=1

    employee[id]=st

numbers = [row["Employee-number"] for row in employee.values()]

names = [row["Employee-name"] for row in employee.values()]

Combo1=ttk.Combobox(FORM_A,width=50,values=numbers).pack(pady=30)

Combo2=ttk.Combobox(FORM_A,width=50,values=names).pack(pady=30)

print(employee)

 

# هنا أريد إدراج قيمة العود الثاني المقابلة للعمود الأول عند الإختيار من أداة الكومبوبكس

Entry1=Entry(FORM_A,width=50).pack(pady=30)


 

FORM_A.mainloop()

  • 0
نشر

قمت بمحاولة أن أقوم بإدخال رقم الموضف لأستخرج البيانات الخاصة به من المصفوفة ولاكن عجزت أن أعملها , الرجاء المساعدة

sr=input("رقم الموضف: ")

if sr in employee:

    print(sr ,"mmmm",employee[sr])

else:

    print('sory')

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...