用特金特分割帧



我用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中创建了一个可以独立于framesgrids填充的grid。我在frames之间放了一些间隔padxpady,并在它们周围放了一个border,以更好地可视化代码正在做什么。注意我创建Labels的不同位置!所以Labelsframes的一部分,是root窗口的一部分。 考虑查看更多教程,因为这是非常基本的 tkinter 内容。 我认为这家伙很好地解释了一切。玩得愉快。

最新更新