Python:为什么else条件没有完全被处理?

2024-09-30 14:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

这里我们有一个小应用程序的一小部分。 条件正常工作,而不是外部的else。你知道吗

def setDetails(self):
    if self.found == True:
        self.btn_reset.set_sensitive(True)
        self.builder.get_object("output_ticket").set_text("GEFUNDEN: " + self.csv_row[0])
        if self.csv_row[1] == "Gesperrt!":
            self.btn_save.set_sensitive(False)
            self.builder.get_object("allert").set_from_stock(Gtk.STOCK_DELETE, 5)
            self.builder.get_object("output_ticket").set_text("GESPERRT!!! " + self.csv_row[0])
        elif (len(self.csv_row) > 2 and self.csv_row[2] == "1"):
            self.btn_save.set_sensitive(False)
            self.builder.get_object("allert").set_from_stock(Gtk.STOCK_DELETE, 5)
            self.builder.get_object("output_ticket").set_text("ALREADY CHECKED IN!!! " + self.csv_row[0])
            self.builder.get_object("check_checkedin").set_active(True)
            if len(self.csv_row) > 3:
                self.builder.get_object("output_info").set_text(self.csv_row[4])
                self.builder.get_object("text_note").set_text(self.csv_row[3])
        else:
            self.btn_save.set_sensitive(True)
            self.builder.get_object('text_note').set_sensitive(True)
            self.builder.get_object("spinner").start()
            self.builder.get_object("check_checkedin").set_sensitive(True)
            self.builder.get_object("allert").set_from_stock(Gtk.STOCK_YES, 5)
    else: 
        self.builder.get_object("allert").set_from_stock(Gtk.STOCK_NO, 5)
        self.builder.get_object("output_ticket").set_text("NICHT GEFUNDEN!!!")
        time.sleep(2)
        self.resetDetails()

在外else中,似乎只有最后两行被处理,而这个else中的self.builder内容没有任何影响。所有其他GTK的东西都能工作,只有这两条线不行

有人看到这个问题了吗?你知道吗

桑克斯 约翰内斯


Tags: csvtextselftrueoutputgetobjectbuilder