国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > PythonGUI編程|使用Tkinter制作快遞查詢軟件

PythonGUI編程|使用Tkinter制作快遞查詢軟件

時間:2023-06-22 07:00:02 | 來源:網(wǎng)站運營

時間:2023-06-22 07:00:02 來源:網(wǎng)站運營

PythonGUI編程|使用Tkinter制作快遞查詢軟件:

前言

GUI(圖形用戶界面)想必大家都不陌生,簡單來說就是將代碼變成可以交互式操作的界面。在Python中就提供了多個圖形開發(fā)界面的庫,比如Tkinter、wxPython、Jython等,本文將使用Tkinter來制作一個簡單的快遞查詢軟件,先來看看效果




為什么使用Tkinter?因為Tkinter 是 Python 的標準 GUI 庫,只要安裝好 Python 之后就能直接使用,對于我們這樣一個簡單的小程序還是能應付自如。好了,現(xiàn)在我們來分析應該如何制作,其實主要就是下面兩個步驟:

所以我將按照上面兩項來說明制作過程。

爬取快遞網(wǎng)站

在這一步,我們需要做的就是寫一個函數(shù),我們給它一個快遞單號就能將該單號的物流信息返回,首先說一下走過的坑,在一開始的思路就是找個快遞查詢的網(wǎng)站,然后抓一下包就能拿到我們需要的內(nèi)容,結(jié)果一操作發(fā)現(xiàn)國內(nèi)查快遞的網(wǎng)站基本用的都是快遞100的API,申請個API還挺麻煩的。不申請API直接爬的物流信息被各種加密。折騰半天終于找到一個手機端的網(wǎng)站可以使用。直接上代碼

import requestsimport bs4import rekuaidi = []url='http://m.46644.com/express/result.php?typetxt=%D6%D0%CD%A8&type=zto&number=你的單號'response = requests.get(url)response.encoding = 'gb18030' response = response.textsoup = bs4.BeautifulSoup(response,'html.parser',from_encoding="utf8")for i in soup.findAll(name='div',attrs = {'class':'icontent'}): kuaidi.append(i.get_text()) print(i.get_text())這一段代碼我們使用多很多次就不過多解讀了,用Requests請求并使用bs4提取我們需要的信息,當然注意到這只是中通快遞的查詢鏈接

因此我們只需要再寫一個函數(shù)來生成更多快遞公司的查詢鏈接就可以查詢多家快遞信息,這樣我們就完成了第一步:提供一個單號,返回對應的物流信息

制作界面

在上一步,我們已經(jīng)實現(xiàn)第一個功能:查詢物流信息,現(xiàn)在要做的就是整出一個界面,這個界面要有一個文本輸入框、一個按鈕和一個顯示物流信息的區(qū)域,而這對于Tkinter來說也并不困難,比如三行代碼即可生成一個頁面

import tkinter as tkroot = tk.Tk()root.mainloop()當然這個界面中什么都沒有,接下來就是對這個界面進行修改,比如先調(diào)整大小和背景

import tkinter as tkHEIGHT = 500WIDTH = 600root = tk.Tk()canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)canvas.pack()background_image = tk.PhotoImage(file='/Users/liuhuanshuo/Desktop/bg1.png')background_label = tk.Label(root, image=background_image)background_label.place(relwidth=1, relheight=1)root.mainloop()接著我們用下面的代碼添加按鈕和輸入框

frame = tk.Frame(root, bg='#80c1ff', bd=5)frame.place(relx=0.5, rely=0.1, relwidth=0.75, relheight=0.1, anchor='n')entry = tk.Entry(frame, font=40)entry.place(relwidth=0.65, relheight=1)button = tk.Button(frame, text="查快遞", font=40, command=lambda: kuaidi(entry.get()))button.place(relx=0.7, relheight=1, relwidth=0.3)最后再添加點細節(jié)就差不多了!

可以看到,僅用了不到30行代碼,我們就成功做出來界面,而這些代碼的詳細參數(shù)設(shè)置都可以查閱官方文檔,這里就不在贅述,最后只要結(jié)合我們上一步的爬取物流信息的代碼就大功告成!

結(jié)束語

回顧上面整個過程,好像也沒有用到特別復雜的工具,如果自己獨立敲一遍我想應該會有所收獲,并且基于這個例子可以實現(xiàn)更多的功能,比如添加其他按鈕來實現(xiàn)更多功能,或者將查快遞改為查天氣、查單詞等,這些就留給你們了,獲取完整源碼可在早起Python內(nèi)回復快遞,拜拜~



關(guān)鍵詞:使用

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉