簡體   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