我用python给自己编写了一个天气应用程序。当我使用命令提示符运行它时,它如我所愿地正常工作,没有任何问题。 现在我想接口。但我不能说我对tkinter了解很多。我看了很多教程,但我无法达到我想要的结果。
我想做的是:
_________________________________________
| | |
| First Area | Second Area |
| Data | Data |
| | |
| | |
| | |
|____________________|____________________|
| | |
| Third Area | Fourth Area |
| Data | Data |
| | |
| | |
| | |
|____________________|____________________|
创建一个 1000x750 窗口,这是简单的部分
root = tk.Tk()
root.geometry("1000x750")
root.title('Hava Durumu')
root.resizable(0, 0)
我想将我创建的这个窗口分成 4 个。并将数据从我的应用程序拉到每个区域(我想获取数据也可以,我可以:)做到)
如果有人能帮忙,我将不胜感激。
谢谢
---更新--- 我不知道我应该使用哪个小部件。 例如
win = Tk()
win.geometry("300x200")
w = Label(win, text ='Bodrum', font = "90",fg="Navyblue")
w.pack()
msg = Message(win, text = "TEXT HERE")
msg.pack()
win.mainloop()
如何将我的代码结果放在"文本在这里"部分?
嘿,您可以先尝试将root
窗口拆分为多个frames
,然后将特定数据放在适当的框架中。请参阅此示例
import tkinter as tk
root = tk.Tk()
root.geometry("200x200")
frame1 = tk.Frame(root, borderwidth=1, relief='ridge')
frame1.grid(row=0, column=0, padx=(20, 20), pady=(20, 20))
frame2 = tk.Frame(root, borderwidth=1, relief='ridge')
frame2.grid(row=0, column=1, padx=(20, 20), pady=(20, 20))
frame3 = tk.Frame(root, borderwidth=1, relief='ridge')
frame3.grid(row=1, column=0, padx=(20, 20), pady=(20, 20))
frame4 = tk.Frame(root, borderwidth=1, relief='ridge')
frame4.grid(row=1, column=1, padx=(20, 20), pady=(20, 20))
w1 = tk.Label(frame1, text ='Bodrum', font = "90", fg="Navyblue")
w1.grid(row=0, column=0)
w1_1 = tk.Label(frame1, text ='35°C', font = "45", fg="Navyblue")
w1_1.grid(row=1, column=0)
w2 = tk.Label(frame2, text ='Berlin', font = "90",fg="Navyblue")
w2.grid(row=0, column=0)
w2_1 = tk.Label(frame2, text ='23°C', font = "45", fg="Navyblue")
w2_1.grid(row=1, column=0)
w3 = tk.Label(frame3, text ='Paris', font = "90",fg="Navyblue")
w3.grid(row=0, column=0)
w3_1 = tk.Label(frame3, text ='28°C', font = "45", fg="Navyblue")
w3_1.grid(row=1, column=0)
w4 = tk.Label(frame4, text ='Rome', font = "90",fg="Navyblue")
w4.grid(row=0, column=0)
w4_1 = tk.Label(frame4, text ='32°C', font = "45", fg="Navyblue")
w4_1.grid(row=1, column=0)
root.mainloop()
基本上,您在root
中创建了一个可以独立于frames
grids
填充的grid
。我在frames
之间放了一些间隔padx
和pady
,并在它们周围放了一个border
,以更好地可视化代码正在做什么。注意我创建Labels
的不同位置!所以Labels
是frames
的一部分,是root
窗口的一部分。 考虑查看更多教程,因为这是非常基本的 tkinter 内容。 我认为这家伙很好地解释了一切。玩得愉快。