gpt4 book ai didi

python - 如何根据 python 上的 tkinter 中的用户输入生成弹出消息?

转载 作者:行者123 更新时间:2023-12-01 02:20:44 26 4
gpt4 key购买 nike

我正在尝试创建一个系统,其中用户可以使用两个 slider 输入当前温度和所需温度。当按下按钮 "Set" 确认两个温度时,应根据用户输入显示弹出消息。

  • 如果所需温度高于当前温度,此弹出消息应显示:"Turn the heater on?" .
  • 如果所需温度低于当前温度,此弹出消息应显示:“Turn the cooler on?"

我尝试生成此内容,但单击 "Set" 后我的代码似乎没有生成任何内容。按钮。任何帮助将非常感激!

class StartPage(tk.Frame):

def __init__(self, parent, controller):

tk.Frame.__init__(self, parent)

label1=ttk.Label(self,text="Smart Thermostat",font=LARGE_FONT)
label1.pack(pady=10, padx=10)

label2 = ttk.Label(self, text="Current Temperature:",font=MEDIUM_FONT)
label2.pack(pady=10, padx=10)

slider1 = tk.Scale(self, from_=10, to = 30, orient=HORIZONTAL)
slider1.pack()

label3 = ttk.Label(self, text="Set to:",font=MEDIUM_FONT)
label3.pack(pady=10, padx=10)

slider2 = tk.Scale(self, from_=18, to = 25, orient=HORIZONTAL)
slider2.pack()

def popupmsg1(msg):
popup1=tk.Tk()
popup1.wm_title("!")
label4 = ttk.Label(popup1, text="Turn heater on?", font = MEDIUM_FONT)
label4.pack(side = "top", fill = "x", pady=10)
button2=ttk.Button(popup1, text="Okay", command = popup1.destroy)
button2.pack()
popup1.mainloop()

def popupmsg2(msg):
popup2=tk.Tk()
popup2.wm_title("!")
label5 = ttk.Label(popup2, text="Turn cooler on?", font = MEDIUM_FONT)
label5.pack(side = "top", fill = "x", pady=10)
button3=ttk.Button(popup2, text="Okay", command = popup2.destroy)
button3.pack()
popup2.mainloop()

def popupmsg():
temp=int(slider2.get())
need=int(slider1.get())
if temp<need:
popup1=tk.Tk()
else:
popup2=tk.Tk()


button1=tk.Button(self, text="Set", command= lambda: popupmsg)
button1.pack(pady=10, padx=10)

最佳答案

您应该能够使用以下信息创建消息/对话框:

 # Python 3
from tkinter import messagebox

# Python 2
import tkMessageBox as messagebox

if case 1:
messagebox.showinfo("title 1", "message 1")
else:
messagebox.showinfo("title 2", "message 2")

您通常只会为执行自己逻辑的真正自定义信息框/窗口生成自定义窗口。对于简单的消息,使用内置的消息框就足够了。即使如此,您也应该只使用 Toplevel 而不是生成全新的 tk.Tk 实例。 Tk 只是一个处理其中事件的大主循环(因此使用 .mainloop()....)。

如何选择向用户显示消息实际上是开放式的,您甚至可以制作一个标签来更新文本并适本地显示/隐藏它等等。

如果你想做自定义字体等等,看起来像......而不深入研究所有代码......你实际上必须走顶级/小部件路线。

关于python - 如何根据 python 上的 tkinter 中的用户输入生成弹出消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47965015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com