如何一天做出新闻搜索引擎(3)——GUI(图形用户界面)的制作

写在前面

大家好!这一章主要讲解搜索引擎GUI的设计与实现。还记得我在《如何一天做出新闻搜索引擎(0)》中放的几张镇楼的图片吗?我们在前几章已经完成的搜索引擎的所有后台的程序,接下来就是制作与用户交互的界面啦!

个人觉得,这一部分才是最有成就感的部分,因为GUI可以给我们一种“我们写的程序终于可以用了”的感觉。这酸爽,只有自己写完才能感受得到(?)。

这篇文章只是讲解思路,代码的展示也是为了配合讲解。如果大家要查看源码,请移步我的github,这篇文章所讲内容在GUI(运行该程序使用搜索引擎).py中。

开始制作GUI!

想要做出GUI,请回答以下“人生三大问”:

1. 它长什么样?

这一部分就见仁见智了,我只能给出我的设计作为参考:
在这里插入图片描述
在这里插入图片描述

我把我的GUI分为三个界面:输入界面,新闻显示界面和刷新提示界面(分别对应上面的三张图)。其中输入界面是运行程序之后就弹出来的,新闻显示界面是点击“千度一下”后弹出的界面,而刷新提示界面是点击“刷新”后弹出的界面。

其中输入界面和新闻显示界面的作用不言而喻,而刷新提示界面的作用是告诉用户“现在数据库正在刷新”。由于采用了多线程的设计,刷新的时候并不会影响用户的查询,但是因为此时新数据还没有写进数据库,所以用户查询所用的数据仍然是旧数据,所以这个刷新提示界面的作用就是提示用户“此时的数据仍然是旧数据”。当刷新结束,新数据写入数据库后,刷新提示界面就会自动地消失。

2. 如何实现?

鉴于我们的目标是“一天实现搜索引擎”,所以我们采用最容易上手的tkinter库作为实现方式。这里推荐一个免费的视频网课,我就是通过这个网课一小时入门的(?)。

由于第一步的设计不同,在这里的实现当然也不同。我在制作GUI的时候最大的体会是,GUI制作是一个“艺术”过程,需要不断地去调整参数、看效果、再调整参数,才能达到自己心目中的理想效果。

就我的设计而言,因为输入界面是最先弹出的,所以我首先实现的是输入界面。代码供参考:

if __name__ == '__main__':
    window = tk.Tk()
    window.geometry('3000x650')
    
    canvas = tk.Canvas(window, bg = 'white',height = 750,width = 3200)
    #欢迎图片
    welcome_file = tk.PhotoImage(file = 'welcome.gif')
    welcome_img = canvas.
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值