2016-10-04 4 views
-2

현재 문제는 entry_values ​​[0]의 첫 번째 값으로 레이블 (label 16)을 변경하려고합니다. 작동하지 않습니다. 변수 및 많은 다른 것들, 나는 해결책을 찾을 수 없습니다 연구의 약 1 시간 후. 나는 항목이있는 코드가 변경되지 않을 정도로 실행되기 전에 레이블을 설정한다는 것이 가장 중요하다고 생각합니다. textvariable로 설정하면 빈 문자열이 생깁니다.하지만 텍스트 만 사용하면 내 번호가 필요한 곳에 0을 넣습니다. 당신이 할 수있는 레이블의 텍스트를 변경하려면항목 값이 변경되면 레이블 값이 변경됩니다.

def sub_menu(root): 
    global subpage 
    subpage = Frame(root) 
    button5 = Button(subpage, text="Save Generation Data", 
       command = lambda: save_entries()) 
    button5.grid(row = 1, column = 6, sticky = E) 

    button6 = Button(subpage, text="Return To Main Page", 
       command = lambda: switch_page("main")) 

    button6.grid(row = 0, column = 6, sticky = W) 

    juveniles_label0 = Label(subpage,text="Juveniles") 
    adults_label1 = Label(subpage,text="Adults") 
    seniles_label2 = Label(subpage,text="Seniles") 
    population_label3 = Label(subpage,text="Population (Thousands)") 
    survival_rate_label4 = Label(subpage,text="Survival Rate (Between 0 and 1)") 
    birth_rate_label5 = Label(subpage,text="Birth Rate") 
    number_of_gens_label6 = Label(subpage,text="Number of Generations") 
    disease_trigger_label7 = Label(subpage,text="Disease Trigger Point") 

    global entry0 
    entry0 = Entry(subpage) 
    global entry1 
    entry1 = Entry(subpage) 
    global entry2 
    entry2 = Entry(subpage) 
    global entry3 
    entry3 = Entry(subpage) 
    global entry4 
    entry4 = Entry(subpage) 
    global entry5 
    entry5 = Entry(subpage) 
    global entry6 
    entry6 = Entry(subpage) 
    global entry7 
    entry7 = Entry(subpage) 
    global entry8 
    entry8 = Entry(subpage) 


    juveniles_label0.grid(row = 0, column = 1) 
    adults_label1.grid(row = 0, column = 2) 
    seniles_label2.grid(row = 0, column = 3) 
    population_label3.grid(row = 1, column = 0) 
    survival_rate_label4.grid(row = 2, column = 0) 
    birth_rate_label5.grid(row = 3, column = 0) 
    number_of_gens_label6.grid(row = 3, column = 2) 
    disease_trigger_label7.grid(row = 4, column = 0) 

    entry0.grid(row = 1, column = 1) 
    entry1.grid(row = 1, column = 2) 
    entry2.grid(row = 1, column = 3) 
    entry3.grid(row = 2, column = 1) 
    entry4.grid(row = 2, column = 2) 
    entry5.grid(row = 2, column = 3) 
    entry6.grid(row = 3, column = 1) 
    entry7.grid(row = 3, column = 3) 
    entry8.grid(row = 4, column = 1) 



    return subpage 

def save_entries(): #entry recieve point 
    save_page = Frame(root) 

    """ if e0 < 0: 
      make a check to check if value is < 0 dont accept and if a value is inputed or not using if type(string_name) == str """ 
    e0 = entry0.get() 
    if e0 >= 0: 
     entry_values[0] = (e0) 
    e1 = entry1.get() 
    if e0 >= 0: 
     entry_values[1] = (e1) 
    e2 = entry2.get() 
    if e0 >= 0: 
     entry_values[2] = (e2) 
    e3 = entry3.get() 
    if e0 >= 0: 
     entry_values[3] = (e3) 
    e4 = entry4.get() 
    if e0 >= 0: 
     entry_values[4] = (e4) 
    e5 = entry5.get() 
    if e0 >= 0: 
     entry_values[5] = (e5) 
    e6 = entry6.get() 
    if e0 >= 0: 
     entry_values[6] = (e6) 
    e7 = entry7.get() 
    if e0 >= 0: 
     entry_values[7] = (e7) 
    e8 = entry8.get() 
    if e0 >= 0: 
     entry_values[8] = (e8) 

    print entry_values 


    return save_page 


def display_values(root): 
    sub2 = Frame(root) 
    global entry_values 


    label8 = Label(sub2, text = "Juveniles") 
    label9 = Label(sub2, text = "Adults") 
    label10 = Label(sub2, text = "Seniles") 

    label11 = Label(sub2, text = "Population(Thousands)") 
    label12 = Label(sub2, text = "Survival Rate(Between 1 and 0)") 
    label13 = Label(sub2, text = "Birth Rate") 
    label14 = Label(sub2, text = "Number of Generations") 
    label15 = Label(sub2, text = "Disase Trigger Point") 

    label16 = Label(sub2, text = entry_values[0]) 
    label17 = Label(sub2, textvariable = entry_values[1]) 
    label18 = Label(sub2, textvariable = "") 
    label19 = Label(sub2, textvariable = "") 
    label20 = Label(sub2, textvariable = "") 
    label21 = Label(sub2, textvariable = "") 
    label22 = Label(sub2, textvariable = "") 
    label23 = Label(sub2, textvariable = "") 
    label24 = Label(sub2, textvariable = "") 


    button7 = Button(sub2, text="Return To Main Page", 
       command = lambda: switch_page("main")) 


    label8.grid(row = 0, column = 1) 
    label9.grid(row = 0, column = 2) 
    label10.grid(row = 0, column = 3) 
    label11.grid(row = 1, column = 0) 
    label12.grid(row = 2, column = 0) 
    label13.grid(row = 3, column = 0) 
    label14.grid(row = 3, column = 3) 
    label15.grid(row = 4, column = 0) 
    label16.grid(row = 1, column = 1) 
    label17.grid(row = 1, column = 2) 
    label18.grid(row = 1, column = 3) 
    label19.grid(row = 2, column = 1) 
    label20.grid(row = 2, column = 2) 
    label21.grid(row = 2, column = 3) 
    label22.grid(row = 3, column = 1) 
    label23.grid(row = 3, column = 3) 
    label24.grid(row = 4, column = 1) 

    button7.grid(row = 0, column = 0) 

    return sub2 
+1

실제로 주된 문제는 코드에 문제와 관련이없는 너무 많은 내용이 포함되어있어 사용자와 사용자가 코드를 찾아 수정하는 것이 어렵다는 것입니다. 그것을 [mcve]로 줄이면 아마도 여러분 스스로 혼자서 해결할 것입니다. 그렇지 않으면 여기에서 답을 얻을 수있는 더 나은 기회가 생깁니다. – Goyo

+0

아프지 만 내가 떠나고 싶어하는 이유는 때때로 너무 많이 잘라 버리거나 사람들이 가치를 얻는 곳이나 물건이 어디에 정의되어 있는지 모르기 때문입니다. 그러나 나는 불필요한 것들을 잘라 버릴 것이다. – 2C00L4U

+0

링크를 읽어보십시오. 면밀히. 예제가 완벽하고 검증 가능하다면 너무 많이 자르지 않을 것입니다. – Goyo

답변

1

: 항목 변경 사용하여 라벨을 다시

label["text"] = textVar 

또는 위의 코드에 따라서

label.config(text=textVar) 

, 위의 옵션 중 하나.

+0

이것은 실제로 내가 뭘 찾고있는 건지리스트 나 비슷한 것을 전달할 수 있어야하지만 내가 통과 할 수있는 display_values에 줄 수는 없다. 그것의 가장 아마도 간단한 오류 – 2C00L4U

관련 문제