K8凯发(中国) 初学Python GUI编程: 创建你的第一个窗口

学Python总卡在呐喊行,GUI像天书同样难解,写完代码窗口却一闪就没了。
我试了三天,终于搞懂Tkinter为啥非要加那句mainloop。
昔日学Python,写个print("hello")就能跑,一到GUI就懵。不是报错便是窗口弹出来立时隐没,网上查全是复制粘贴的代码,根底不知说念哪句在干啥。我连button点下去为啥没响应皆搞不解白,其后才发现是把command=click写成了command=click,括号一加,函数就地实行,根底没等你点。
Tkinter其实不复杂,便是四个东西:窗口、控件、摆位置、等行动。窗口得用tk.Tk建,不是函数调用;控件比如label、button、entry,建完必须用pack或grid才调看见,光写tk.Button(root)是没用的;摆位置最容易乱,pack是列队,2026FIFA世界杯中国比分网grid是打表格,不成混着来,一混就崩溃;事件绑定也分两种,button自带command,别的比如画布点击得用bind("
我第一次让输入框里的名字败露在标签上,用了二很是钟。先是entry.get拿到的是字符串,凯旋拼进label.text里不行,K8凯发中国官方网站得用config(text=xxx);然后中语败露成方块,折腾半天才念念起来加font=("SimSun",12);临了发现filedialog要单独from tkinter import filedialog,光import tkinter根底无论用。这些坑皆不是书里写的要点,是报错信息一转一转试出来的。

布局那边最绕东说念主。pady看着像内边距,其实是外边距;place定位写x=50,y=100,但窗口一拉大,控件就飘走;grid必须扫数控件皆用grid,哪怕只漏一个label.pack,通盘界面就废。我昨天还因为混用pack和grid,重装了两次Python。
当今我能从零写一个带输入、按钮、反馈的窗口了。无谓抄,每一转皆知说念它在干嘛。比如root.mainloop不是无关紧要,它是让窗口“活”着的呼吸机,莫得它,次序跑完就退出,窗口根蓝本不足掀开。

学GUI不是为了作念多漂亮的软件,是让代码真能和东说念主打交说念。我昨天作念了一个温度换算吝惜具,输入华氏度,点一下,右边坐窝出摄氏度。诚然丑,但它动了,还听我的。
窗口一闪就没了,mainloop被当成注释删了,你详情知说念它在干啥吗。
K8凯发(中国)