繁体   English   中英

有什么我做错了吗? 我没有收到任何错误,但没有显示 output

[英]Is there something I am doing wrong? I get no errors but no output is displayed

出于某种原因,当我运行没有任何反应时,我没有得到任何 output。 我不确定我是否做错了什么。 我想要做的是编写一个将摄氏温度转换为华氏温度(温度)的 GUI 程序。 我使用的公式是 F= 9/5C + 32

import tkinter

class TempConverterGUI:
    def __init__(self):
        self.main_window = tkinter.Tk()
        
        self.top_frame = tkinter.Frame()
        self.mid_frame = tkinter.Frame()
        self.bottom_frame = tkinter.Frame()
        
        self.prompt_label = tkinter.Label(self.top_frame, \
                                        text = "Enter a temperature in Celsius: ")
        self.celsius_entry = tkinter.Entry(self.top_frame, width = 10)
        
        self.prompt_label.pack(side= "left")
        self.celsius_entry.pack(side = "left")
        
        self.descr_label = tkinter.Label(self.mid_frame, text = "Converted" + \
                                        "to Fahrenheit: ")
        
        self.value = tkinter.StringVar()
        self.fahrenheit_label = tkinter.Label(self.mid_frame, \
                                             textvariable=self.value)
        
        self.descr_label.pack(side= "left")
        self.fahrenheit_label.pack(side = "left")
        
        
        self.calc_button = tkinter.Button(self.bottom_frame, text = "Convert", \
                                         command= self.convert)
        self.quit_button = tkinter.Button(self.bottom_frame, text = "Quit", \
                                         command= self.main_window.destroy)
        self.calc_button.pack(side= "left")
        self.quit_button.pack(side= "left")
        
        self.top_frame.pack()
        self.mid_frame.pack()
        self.bottom_frame.pack()
        
        tkinter.mainloop()
        
        def convert (self):
            celsius = float(self.celsius_entry.get())
            fahrenheit = format(celsius * 9/5 + 32, ",.1f").rstrip("0").rstrip(".")
            self.value.set(fahrenheit)
            
temp_conv = TempConverterGUI()

convert方法的缩进不正确。 它应该与__init__方法处于同一级别。

像这样:

import tkinter


class TempConverterGUI:
    def __init__(self):
        ...
        ...

    def convert(self):
        ...
        ...

temp_conv = TempConverterGUI()

Output:

图形用户界面输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM