-1

我是一个初学者。

我想说,如果 label9 >= 60 中的数字显示一个消息框说一件事,如果它 <60 我希望它显示一个不同的消息框说不同的事情。我使用 if/else/elif 语句还是什么?

def create_window():
    new = Toplevel()
    new.title('Lockdown Tracker')
    new.geometry('950x500')
    new.configure(bg="gray")
    
    label2 = Label(new, text="Please answer the questions below.", font=('Helvetica 30 bold'), relief= RIDGE)
    label2.place(rely=0)
    
    label3 = Label(new, text = "Q1. Rate the severity of the economic situation in your country. (1-100) *", font = ("Arial", 25))
    label3.place(rely=0.1)
    text3=Entry(new, width = "60")
    text3.place(rely=0.15)
    
    label4= Label(new, text="Q2. Rate the speed of vaccination in your country. (1-100) *", font = ("Arial", 25))
    label4.place(rely=0.21)  
    text4=Entry(new, width = "60")
    text4.place(rely=0.26)
    
    label5= Label(new, text="Q3. Rate how much the regulations are enforced and safety measures are taken. (1-100) *", font = ("Arial", 25))
    label5.place(rely=0.31)  
    text5=Entry(new, width = "60")
    text5.place(rely=0.36)
    
    label6= Label(new, text="Q4. What is the percentage of vaccinated people?(%) *", font = ("Arial", 25))
    label6.place(rely=0.41)  
    text6=Entry(new, width = "60")
    text6.place(rely=0.46)
    
    label7= Label(new, text="Q5. What is the ratio of positivity in the last week?(%) *", font = ("Arial", 25))
    label7.place(rely=0.51) 
    text7=Entry(new, width = "60")
    text7.place(rely=0.56)
    
    label8= Label(new, text="Q6. What is the percentage of active cases?(%) *", font = ("Arial", 25))
    label8.place(rely=0.61)
    text8=Entry(new, width = "60")
    text8.place(rely=0.66)
    
    
    
    def cmd3():
        label9 = Label(new, text = int(text3.get())/6 + int(text4.get())/6 + int(text5.get())/6 + int(text6.get())/6 + int(text7.get())/6 + int(text8.get())/6)
        label9.place(rely = 0.85)
        
        
window.mainloop() ```
4

2 回答 2

0

我认为这应该有效:

if label9["text"] >= 60:
    messagebox.showinfo(window, "something")
else:
    messagebox.showinfo(window, "something else")
于 2021-07-15T19:25:09.173 回答
0

是的,您将使用 if/else 语句。为了检查文本的值label9,我添加了另一个变量label9Text。然后可以在 if/else 语句中使用它来比较它。根据值,显示不同的消息框。(如果您不确定如何导入消息框,from tkinter import messagebox请在程序顶部添加。您可以更改showinfoshowerrorshowwarning取决于您想要的图标。)

def cmd3():
    label9Text = int(text3.get())/6 + int(text4.get())/6 + int(text5.get())/6 + int(text6.get())/6 + int(text7.get())/6 + int(text8.get())/6
    label9 = Label(new, text = label9Text)
    label9.place(rely = 0.85)
    if label9Text >= 60:
        messagebox.showinfo("Title", "Text for >=60")
    else:
        messagebox.showinfo("Title", "Text for <60")
于 2021-07-15T19:24:22.520 回答