Python学习,第六课(使用tkinter,给程序一个界面)

突破阶层,更多成长空间

就上节课的结果而言,我们已经制作了由爬虫、随机数、显示形成的综合性互动型程序。
虽然它还可以增加更多功能,比如:数据分析、数据筛选。
但是,它还是仅仅停留在命令行的阶段。
怎么给它突破一下?

基础知识

tkinter库,包含了很多基础的GUI方法,可以让我们创建一个可视化的面板,并提供了一定的个性化配置方式。
这里我们掌握几个基础的:

  1. Frame容器,制作窗体软件的基础,框架控件,可以把其他空间放在frame上。
  2. Label,标签控件(Label)指定的窗口中显示的文本和图像,一般情况不允许修改。
  3. Scale,范围控件;显示一个数值刻度,类似音量调节,get()方法可以获得它的值
  4. Button,按钮控件,顾名思义。
  5. StringVar,用来设置内容,如果其内容被修改,标签文本将自动更新。

尝试创建一个面板

了解了基础知识,我们来尝试创建一个面板,准备为第五课的程序加上脸面。

from tkinter import *
from tkinter import messagebox

def show():
    jg = str(slred.get())+" "+str(slblue.get())
    messagebox.showinfo("结果", jg)

root = Tk()
root.geometry("600x300+400+400")

main = Frame(root)

slred = Scale(main, from_=6, to=33, orient="horizontal", tickinterval=1, length=500, label="红球", sliderlength="10", sliderrelief="flat", width="5")
slblue = Scale(main, from_=1, to=16, orient="horizontal", tickinterval=1, length=500, label="蓝球", sliderlength="10", sliderrelief="flat", width="5")
b1 = Button(main, text ="生成", command=show)

slred.pack()
slblue.pack()
b1.pack()

main.pack()
root.mainloop() 

我们创建了一个根面板,大小为600×300,起始位置在屏幕的(400,400)。
然后在根面板上放置了一个主Frame容器。
在容器中,我们放置了两个Scale控件,一个代表红球,一个代表蓝球,刻度就是可以生成的数量范围。(是不是杜绝了输入不规范的问题?)
然后我们设置了一个“生成”按钮,点击就会执行上面的show方法
在show方法中,我们使用Scale控件的get方法获取当前的值,并弹框出来,让我们知道程序是否成功。
好的,运行一下试试:
在这里插入图片描述
是成功的。

有机结合,生产加工

下面,我们就把这段代码导入上节课的代码主程序中,同时对上面的生产、打印部分做个简单修改。
首先,主程序中,暂时删除运行代码。
同时,加入刚才的代码,并把爬取开奖信息的代码拿出到主程序中,这样在打开程序的时候就可以看到开奖信息了。

if __name__ == "__main__":
	root = Tk()
	root.geometry("600x300+400+400")
	root.title("双色球小程序")

	main = Frame(root)
	v = StringVar()
	
	code = getNum()
	check = checkUrl(code)

	Ltitle = Label(main, text="上一期("+code+")开奖结果: ", font=("宋体", 16, "bold"), width="600", bd="2", anchor="w")
	LRed = 	Label(main, text="红球:"+check['red'], font=("宋体", 12, "bold"), width="600", bd="2", fg="RED")
	LBlue = Label(main, text=
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红辣椒炒绿辣椒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值