国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python tkinter 制作文章搜索軟件

這篇具有很好參考價(jià)值的文章主要介紹了Python tkinter 制作文章搜索軟件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

Python tkinter 制作文章搜索軟件

今天,我無聊的時(shí)候做了一個(gè)搜索文章的軟件,有沒有更加的方便快捷不知道,好玩就行了。基于Python tkinter 制作文章搜索軟件,都是一些基礎(chǔ)的應(yīng)用。?? ?? ??

功能實(shí)現(xiàn)

Python tkinter 制作文章搜索軟件

導(dǎo)入模塊

代碼

我們首先做到第一件事是導(dǎo)入模塊。

import tkinter as tk
import webbrowser
from tkinter import ttk
import requests

創(chuàng)建窗口

代碼

root = tk.Tk()
root.title('CSDN問題搜索')
root.geometry('1000x700+100+100')
root.iconbitmap('search.ico')
root.mainloop()

這段代碼創(chuàng)建了一個(gè)名為root的Tkinter窗口對(duì)象,并設(shè)置了窗口的標(biāo)題和大小。然后,它使用root.iconbitmap()方法將一個(gè)名為search.ico的圖標(biāo)圖像設(shè)置為窗口的圖標(biāo)。

root.geometry()方法用于設(shè)置窗口的位置和大小,它接受一個(gè)參數(shù),即窗口的位置和大小。在這個(gè)例子中,我們將窗口的位置設(shè)置為(1000, 700)并將大小設(shè)置為(100, 100)

效果

Python tkinter 制作文章搜索軟件

背景圖片

代碼

img = tk.PhotoImage(file='benjing.png')
tk.Label(root, image=img).pack()

這行代碼創(chuàng)建了一個(gè)名為img的PhotoImage對(duì)象,并將其設(shè)置為根窗口對(duì)象root的圖像。然后,它使用tk.Label創(chuàng)建一個(gè)標(biāo)簽對(duì)象,并將圖像設(shè)置為該標(biāo)簽的圖像。最后,它使用pack()方法將標(biāo)簽對(duì)象放置在根窗口對(duì)象中。

效果

Python tkinter 制作文章搜索軟件

搜索文本框?

代碼

search_frame = tk.Frame(root)
search_frame.pack(pady=12)
# 創(chuàng)建一個(gè)字符串變量
search_va = tk.StringVar()
tk.Label(search_frame, text='CSDN搜索', font=('黑體', 12)).pack(side=tk.LEFT, padx=6)
tk.Entry(search_frame, relief='flat', width=30, textvariable=search_va).pack(side=tk.LEFT, padx=5, fill='both')
tk.Button(search_frame, text='C一下', font=('黑體', 12), relief='flat', bg='#fe6b00').pack(side=tk.LEFT, padx=5)

這段代碼創(chuàng)建了一個(gè)名為search_frame的Tkinter窗口對(duì)象,并將其放置在根窗口對(duì)象root中。然后,它創(chuàng)建了一個(gè)StringVar對(duì)象search_va,并將其設(shè)置為一個(gè)字符串變量。接下來,它創(chuàng)建了一個(gè)Label對(duì)象tk.Label,并將其放置在search_frame中。tk.Label對(duì)象具有一個(gè)文本屬性和一個(gè)字體屬性,這里使用了一個(gè)黑體字體和12號(hào)字號(hào)。tk.Entry對(duì)象具有一個(gè)文本屬性和一個(gè)寬度屬性,這里使用了一個(gè)30像素的寬度和一個(gè)StringVar對(duì)象search_va。最后,它創(chuàng)建了一個(gè)Button對(duì)象tk.Button,并將其放置在search_frame中。tk.Button對(duì)象具有一個(gè)文本屬性、一個(gè)字體屬性和一個(gè)背景屬性,這里使用了一個(gè)黑體字體、12號(hào)字號(hào)和一個(gè)背景顏色為#fe6b00。

效果

Python tkinter 制作文章搜索軟件

內(nèi)容顯示界面

代碼

tree_view = ttk.Treeview(root,show="headings", columns=('num', 'title', 'author', 'date', 'link'))
tree_view.column("num", width=10, anchor='center')
tree_view.column('title', width=200, anchor='w')
tree_view.column('author', width=10, anchor='center')
tree_view.column('date', width=10, anchor='center')
tree_view.column('link', width=150, anchor='center')
tree_view.heading('num', text='序號(hào)')
tree_view.heading('title', text='標(biāo)題')
tree_view.heading('author', text='作者')
tree_view.heading('date', text='發(fā)布時(shí)間')
tree_view.heading('link', text='鏈接')
tree_view.pack(fill=tk.BOTH, expand=False, pady=10)

這段代碼創(chuàng)建了一個(gè)名為tree_view的Tkinter Treeview對(duì)象,并將根節(jié)點(diǎn)設(shè)置為root。show參數(shù)設(shè)置為"headings",表示顯示節(jié)點(diǎn)的標(biāo)題。columns參數(shù)設(shè)置為一個(gè)包含節(jié)點(diǎn)標(biāo)題、作者、發(fā)布時(shí)間和鏈接的列表。tree_view.column()方法用于設(shè)置每個(gè)列的寬度和錨點(diǎn)。tree_view.column()方法接受一個(gè)參數(shù),即要設(shè)置寬度和錨點(diǎn)的列的名稱。tree_view.heading()方法用于設(shè)置每個(gè)列的標(biāo)題。tree_view.pack()方法用于設(shè)置節(jié)點(diǎn)的位置和大小,并將節(jié)點(diǎn)放置在根窗口對(duì)象中。tree_view.fill參數(shù)設(shè)置為"both",表示填充整個(gè)窗口,expand參數(shù)設(shè)置為True,表示展開節(jié)點(diǎn),pady參數(shù)設(shè)置為10,表示節(jié)點(diǎn)之間的間距。

效果

Python tkinter 制作文章搜索軟件

搜索內(nèi)容效果代碼

到了這里,我們這個(gè)框架就寫好了,那么,我們?nèi)绾潍@取搜索功能呢。、

def search(word):
    search_list = []
    num = 1
    for page in range(1, 3):
        url = 'https://so.csdn.net/api/v3/search'
        data = {
            'q': word,
            'p': page,
        }
        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
        }
        response = requests.get(url=url, params=data, headers=headers)
        for index in response.json()['result_vos']:
            title = index["title"].replace('<em>', '').replace('</em>', '')
            author = index["nickname"].replace('<em>', '').replace('</em>', '')
            dit = {
                'num': num,
                'title': title,
                'author': author,
                'date': index['create_time_str'],
                'link': index['url'],
            }
            num += 1
            search_list.append(dit)
    return search_list

這段代碼定義了一個(gè)名為search的函數(shù),該函數(shù)接受一個(gè)字符串參數(shù)word,并返回一個(gè)字符串列表,其中包含符合給定字符串的所有文檔的標(biāo)題、作者和發(fā)布時(shí)間。

該函數(shù)首先創(chuàng)建一個(gè)空字符串列表search_list,然后使用一個(gè)循環(huán)來搜索所有可能的頁面。在每個(gè)頁面上,它使用requests庫發(fā)送一個(gè)HTTP GET請(qǐng)求,并將搜索參數(shù)作為請(qǐng)求的一部分傳遞。然后,它將響應(yīng)的JSON數(shù)據(jù)解析為一個(gè)字典,其中包含每個(gè)文檔的標(biāo)題、作者和發(fā)布時(shí)間。然后,它將每個(gè)字典添加到search_list中,并將搜索列表的長(zhǎng)度增加1。

最后,該函數(shù)返回search_list,該列表包含符合給定字符串的所有文檔的標(biāo)題、作者和發(fā)布時(shí)間。

效果

比如講,搜索博主“愛吃餅干的小白鼠”,我們看看網(wǎng)站反饋的數(shù)據(jù)是不是和我們一樣的。

Python tkinter 制作文章搜索軟件

展示內(nèi)容效果代碼

接下來,我們就要把上面的內(nèi)容展示到界面里面。

def show(search_list):
    # 往樹狀圖中插入數(shù)據(jù)
    for index, li in enumerate(search_list):
        tree_view.insert('', index + 1,values=(li['num'], li['title'], li['author'], li['date'], li['link']))

這段代碼定義了一個(gè)名為show的函數(shù),該函數(shù)接受一個(gè)字符串列表參數(shù)search_list,該列表包含每個(gè)文檔的標(biāo)題、作者和發(fā)布時(shí)間,用于插入樹狀圖中。

該函數(shù)首先使用一個(gè)循環(huán)來遍歷search_list,并使用tree_view.insert()方法將每個(gè)文檔插入到樹狀圖中。tree_view.insert()方法接受一個(gè)參數(shù),即要插入的節(jié)點(diǎn)的索引和值列表。values參數(shù)用于指定節(jié)點(diǎn)的值列表。

點(diǎn)擊搜索功能代碼

上面我們講述了搜索功能代碼,以及展示代碼。接下來,我們就要實(shí)現(xiàn)這樣的功能——我們?cè)谖谋究蜉斎搿皭鄢燥灨傻男“资蟆?,然后,我們點(diǎn)擊C一下,就會(huì)在界面顯示內(nèi)容。

PS—如果大家感興趣,可以實(shí)現(xiàn)一個(gè)回車的功能

def click():
    key_word = search_va.get()
    if key_word:
        search_list = search(word=key_word)
        show(search_list)

這段代碼定義了一個(gè)名為click的函數(shù),該函數(shù)用于查找鍵盤上輸入的字符串。如果找到了相應(yīng)的字符串,則調(diào)用search()函數(shù)查找包含該字符串的文檔并顯示它們。get()方法用于從緩沖區(qū)中獲取字符串。if key_word語句檢查輸入字符串是否包含在search_va中,如果是,則將search_list更新為包含相關(guān)文檔的字符串列表。然后調(diào)用show()函數(shù)將其顯示在樹狀圖中。

效果

Python tkinter 制作文章搜索軟件

?訪問博客網(wǎng)頁

我們接下來,就實(shí)現(xiàn)點(diǎn)擊某一行就會(huì)訪問該文章。

def tree_view_click():
    for item in tree_view.selection():
        item_text = tree_view.item(item, "values")
        webbrowser.open(item_text[-1])

這段代碼定義了一個(gè)名為tree_view_click的函數(shù),該函數(shù)用于在樹狀圖中選擇節(jié)點(diǎn)并打開相應(yīng)的網(wǎng)頁。它使用tree_view.selection()方法獲取選中的節(jié)點(diǎn),并使用tree_view.item()方法獲取節(jié)點(diǎn)的文本值。然后,它使用webbrowser.open()方法打開相應(yīng)的網(wǎng)頁。

tree_view.bind("<Button-1>",tree_view_click)

在 Python 中,可以使用?tkinter?模塊中的?ttk?子模塊來創(chuàng)建樹形視圖控件。要為樹形視圖添加點(diǎn)擊函數(shù),可以使用?ttk.Treeview?的?__init__?方法來設(shè)置點(diǎn)擊事件處理函數(shù)。

總結(jié)

到了這里,我們這個(gè)功能就實(shí)現(xiàn)了,是不是很神奇。搜索文章的軟件就實(shí)現(xiàn)了,有的人說了,何必這么麻煩,直接去官網(wǎng)搜索就好了啊。確實(shí),可是通過這個(gè)練習(xí),我們可以學(xué)到很多東西。

Python tkinter 制作文章搜索軟件文章來源地址http://www.zghlxwxcb.cn/news/detail-401942.html

到了這里,關(guān)于Python tkinter 制作文章搜索軟件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python入門學(xué)習(xí)之小工具制作系列--02使用tkinter庫寫一個(gè)BMI身體指數(shù)檢測(cè)小程序

    python入門學(xué)習(xí)之小工具制作系列--02使用tkinter庫寫一個(gè)BMI身體指數(shù)檢測(cè)小程序

    一、小程序檢測(cè)功能邏輯 即通過輸入身高、體重兩個(gè)數(shù)據(jù)即可計(jì)算自己的BMI身體指數(shù)是多少,且對(duì)身體狀況做相應(yīng)提醒。 二、小程序使用體驗(yàn) 1,彈出主界面,輸入身高,體重?cái)?shù)據(jù)~ 2,點(diǎn)擊計(jì)算,輸出BMI數(shù)據(jù)~ 3,根據(jù)BMI結(jié)果,給出相應(yīng)的建議~ 三、小程序代碼邏輯 1,引入t

    2024年02月15日
    瀏覽(26)
  • tkinter制作一個(gè)簡(jiǎn)單計(jì)算器

    tkinter制作一個(gè)簡(jiǎn)單計(jì)算器

    ????????我們知道tkinter是python常用的UI框架,那么它是如何使用的呢?我們用一個(gè)簡(jiǎn)單的例子來顯示它的作用,制作一個(gè)簡(jiǎn)單的計(jì)算器,如下圖所示。 上圖是一個(gè)計(jì)算器,我們可以看出它一共有20個(gè)鍵,每個(gè)按鍵都表示一個(gè)功能,在最上方是一個(gè)文本框用來顯示數(shù)值。接下

    2024年02月11日
    瀏覽(27)
  • 【教程】使用ChatGPT制作基于Tkinter的桌面時(shí)鐘

    【教程】使用ChatGPT制作基于Tkinter的桌面時(shí)鐘

    目錄 描述 代碼 效果 說明 下載 開源鏈接:GitHub - 1061700625/Tkinter_Desktop_Clock: 基于Tkinter的桌面時(shí)鐘小工具 ????????給ChatGPT的描述內(nèi)容: ????????python在桌面上顯示動(dòng)態(tài)的文字,不要顯示窗口邊框。窗口背景和標(biāo)簽背景都是透明的,但標(biāo)簽內(nèi)的文字是有顏色。使用tkint

    2024年02月07日
    瀏覽(22)
  • 用tkinter庫制作一個(gè)簡(jiǎn)單的登錄注冊(cè)小程序

    用tkinter庫制作一個(gè)簡(jiǎn)單的登錄注冊(cè)小程序

    目錄 各種組件的布局 制作過程中的理解 制作過程中遇到的難點(diǎn) 解決問題的方法 tkinter庫作為python的標(biāo)準(zhǔn)庫之一,它的功能性十分強(qiáng)大,下面我將使用tkinter庫制作一個(gè)簡(jiǎn)易的注冊(cè)登錄窗口(很難看就是了)。 一· 制作之前需要大致明白各個(gè)窗體的大致位置,登錄注冊(cè)嘛 自然

    2024年02月09日
    瀏覽(15)
  • 使用python制作一個(gè)批量查詢搜索排名的SEO免費(fèi)工具

    使用python制作一個(gè)批量查詢搜索排名的SEO免費(fèi)工具

    ?? 個(gè)人網(wǎng)站:【海擁】【摸魚游戲】【神級(jí)源碼資源網(wǎng)】 ?? 前端學(xué)習(xí)課程:??【28個(gè)案例趣學(xué)前端】【400個(gè)JS面試題】 ?? 尋找學(xué)習(xí)交流、摸魚劃水的小伙伴,請(qǐng)點(diǎn)擊【摸魚學(xué)習(xí)交流群】 最近工作中需要用上 Google SEO(搜索引擎優(yōu)化),有了解過的朋友們應(yīng)該都知道SEO必不

    2024年02月09日
    瀏覽(29)
  • python界面開發(fā)案例:制作一個(gè)計(jì)算器軟件

    python界面開發(fā)案例:制作一個(gè)計(jì)算器軟件

    前言 大家早好、午好、晚好吖 ? ~歡迎光臨本文章 在我們手機(jī)上大家都有一個(gè)計(jì)算器,對(duì)吧 那它這功能是怎么實(shí)現(xiàn)的呢? 今天我們?cè)陔娔X上來實(shí)現(xiàn)一個(gè)電腦端計(jì)算器界面~ 開發(fā)環(huán)境: Python 3.8 / 編譯器 Pycharm 2021.2版本 / 編輯器 本文所有模塊環(huán)境源碼教程皆可點(diǎn)擊文章下方

    2023年04月16日
    瀏覽(100)
  • python如何制作手機(jī)軟件,python3手機(jī)版怎么用

    python如何制作手機(jī)軟件,python3手機(jī)版怎么用

    大家好,小編為大家解答python如何生成手機(jī)可運(yùn)行文件的問題。很多人還不知道手機(jī)python3.0編程軟件怎么用,現(xiàn)在讓我們一起來看看吧! Source code download: 本文相關(guān)源碼 編輯器: HBuiderX、PyCharm 主要技術(shù): 5+App、python HBuiderX 下載地址: HBuilderX-高效極客技巧 PyCharm 下載地址:

    2024年02月22日
    瀏覽(20)
  • 基于Tkinter實(shí)現(xiàn)一個(gè)垃圾分類答題軟件

    基于Tkinter實(shí)現(xiàn)一個(gè)垃圾分類答題軟件

    ???♂? 個(gè)人主頁:@艾派森的個(gè)人主頁 ???作者簡(jiǎn)介:Python學(xué)習(xí)者 ?? 希望大家多多支持,我們一起進(jìn)步!?? 如果文章對(duì)你有幫助的話, 歡迎評(píng)論 ??點(diǎn)贊???? 收藏 ??加關(guān)注+ 目錄 一、Tkinter 二、最終效果 三、項(xiàng)目過程 3.1分析布局 3.2創(chuàng)建窗口 3.3構(gòu)建題庫 3.4創(chuàng)建組件

    2024年01月21日
    瀏覽(50)
  • Python-編寫點(diǎn)云處理軟件(二)點(diǎn)云軟件ui制作之仿CC界面

    本系列第一篇中已經(jīng)對(duì)VTK顯示點(diǎn)云、VTK集成到Pyside2以及可執(zhí)行程序打包進(jìn)行了介紹與示例分析。 接著我們需要對(duì)這個(gè)小程序的界面進(jìn)行優(yōu)化,點(diǎn)云處理的開源軟件中,CloudCompare算是比較實(shí)用的一款,其界面也是比較簡(jiǎn)潔和美觀。那么本篇將在UI界面上進(jìn)行簡(jiǎn)單的設(shè)計(jì),達(dá)到一

    2024年02月12日
    瀏覽(57)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包