使用Python製作一個帶GUI界面的詞雲自動生成工具(連載四)

2020-12-06 python高手養成

話上一篇博文我們對自動生成詞雲工具的數據清hu洗界面前置知識點進行了梳理總結(擁有這件神器,菜鳥也可以成為數據分析大師(連載三)),主要是對界面中多次生成Checkbutton和tkinter常用布局的優缺點進行了回顧總結。本文主要帶大家實現詞雲自動生成工具的數據清洗界面。

好了,我們開始吧

目標

我們來看一下具體的實現結果,如下圖所示。

數據清洗界面完成圖

分析

先看下圖式布局。

我們把界面分成三大部分進行分析。

我們把界面分成三個部分來分析

第一個部分是選擇清洗內容,這一部分我們製作多個複選框(Checkbutton)控制項和一些快捷選擇按鈕,單擊按鈕時,快捷選擇相應的內容。qi但是,我們需要考慮另一個問題,如果我們需要去除的字符不再選項中呢?這點是必須要考慮到的,我們在界面中添加了一個自定義清洗字符的控制項(使用EntryField和Button控制項),輸入自定義去除字符,通過單擊『添加』按鈕,實現將自定義字符添加到去除列表的功能。

第二部分顯示清洗內容,這一部分主要使用ScrolledText控制項顯示。

第一、二部分我們使用Pmw的Group控制項對裡面的控制項進行包裹(即Group是這些控制項的父控制項)。

第三部分我們布局了提示信息內容(Label)和頁面控制按鈕(Button)。通過上一篇我們知道,使用Group的好處除了可以使節界面乾淨整潔外,還可以在同一頁面中綜合使用Pack和Grid布局管理器。這樣,我們下一步的設計編碼會更加方便。

編碼

我們接著之前WordCloudGUI類的設計進行。

【第一部分】選擇清洗內容

清洗內容的選擇分為設定清洗內容和自定義清洗內容兩部分,其中,設定清洗內容之前,我們需要將多個Checkbutton的屬性內容通過列表進行定義,列表內容如下圖所示。

Checkbutton屬性

關於使用for循環創建多個Checqkbutton控制項的方法,我們上一篇已經進行了梳理,這裡不再贅述,第一部分我們先創建多個Checkbutton控制項,代碼如圖所示。

創建多個Checkbutton控制項的方法

下面我們添加清理內容右邊的按鈕組,具體代碼如下所示。

按鈕組控制項的創建

【第二部分】顯示清洗列表

這一部分界面相對來說比較簡單,不再贅述,具體內容參考代碼如下。

顯示清洗列表的實現

【第三部分】提示信息和頁面控制按鈕

這個比較簡單,我們使用Group控制項將兩個控制頁面按鈕放在了一起(這樣比較美觀),直接上代碼了,如下圖所示。

提示信息和控制頁面按鈕

上面涉及的幾個方法我們暫且不表,今天我們主要目標是實現這一界面功能,我們將上面的內容整合到一起,放到WordCloudGUI類中創建的第二個頁面控制項的下面,然後輸入瀏覽器看看吧。

糾錯

什麼?出錯了?

錯誤在所難免

好吧,我們重新梳理下,如果按照我的步驟大家一步一步敲入代碼的話,錯誤無非就是這樣的:AttributeError: 'WordCloudGUI' object has no attribute 'XXXX'。

我們分析一下,『WordCloudGUI』對象沒有「XXX」屬性,這是因為我們界面中使用了對象的『XXX』屬性,但是對象在初始化的時候沒有找到這一屬性導致的。解決方法很簡單,在對象變量初始化的時候加入這一屬性即可。

什麼?你不知道怎麼加入?

不曉得怎麼處理?

好吧,我們在對象聲明過程中不是有一個def __init__(self,master)這樣的函數麼?在函數下面你肯定能找到self.master = master這個語句(如果找不到請參見擁有這件神器,菜鳥也可以成為數據分析大師(連載二)添加),然後在這個下面添加self.XXX=XXX,這樣,這個屬性就添加到了類中,我們下面使用它就不會再報錯了。

對於類的屬性報錯這麼添加,如果提示是類方法(就是command=XXX這樣的),沒有這一屬性(當然,編輯器不知道這是屬性還是方法),我們的處理方式是添加相應的對象方法(def XXX(self):pass)。這樣,先定義一個什麼都不做的函數(方法),我們後期會對其功能進行擴充的。

後面持續更新,敬請持續關注

好了,今天就到這裡了,歡迎大家留言討論並關注,這一項目我會持續更新,剛興趣的朋友請敲代碼試一試。

轉載請註明出處,百家號:Python高手養成

相關焦點

  • 一步一步教會你,詳解用Python實現一個簡易的溫度換算GUI小工具
    今天,我們來使用Python完成一個小工具的製作。很簡單,就是對於攝氏溫度和華氏溫度的相互換算。但是,我們的目的是複習一下之前學過的Python中tkinter的小內容。使用Python製作一個GUI詞雲自動生成工具,讓你秒變數據分析大師
  • 在線文字雲生成工具WordArt(製作教程)
    WordArt是一個文字雲生成網站,稱為文字雲圖,又稱為詞雲圖,是一款製作文字雲效果圖的在線免費軟體,對文本中出現頻率較高的「關鍵詞」以視覺化的形式呈現,是在新媒體圖文、ppt、科研和宣傳中較為適用的工具。
  • PyAutoGUI:自動化鍵鼠操作的Python類庫
    Github頁面安裝和使用安裝PyAutoGUI非常簡單,從pip安裝即可。截圖函數操作實例首先來看看官網的一個畫圖例子,我們需要打開一個畫圖程序的窗口,然後將它放到全屏。然後運行下面的代碼,然後切換到畫圖窗口。等待3秒鐘以後就可以看到PyAutoGUI開始畫圖了。
  • 學會這一招,圖形界面編程不再複雜,Python工具PyCharm使用技巧
    上一篇內容我們使用PyQt5構造了一個GUI程序的通用框架(圖形界面編程技巧,用Python中PyQt5庫快速創建一個應用程式框架)。這樣的圖形用戶接口相對來說比較簡單。我們知道,日常使用的圖形界面都是比較複雜的。
  • 使用Python製作一個簡易的OCR圖片文字識別工具
    今天帶領大家使用Python製作一個簡易的OCR圖片文字識別工具,來解決這類問題。mspaint:我們使用windows系統時,按住『win』+ 『R』鍵(什麼?你找不到這個鍵?自行百度吧,兄嘚),會彈出一個對話框,在對話框中輸入mspaint會打開系統提供給我們的一個簡易的繪圖工具,通過這個工具可以實現對圖像的簡單處理。比如截圖,保存圖片等等操作。
  • 一個Python GUI神器,雙手徹底解放!
    使用PySimpleGUI可能無需花幾天或幾周的時間來學習一個GUI包,而是可以在一個下午內完成項目。▍PySimpleGUI示例展示一個簡單的計算器三行代碼即可實現一個計算器GUI。更牛逼的是,這4行代碼可與tkinter,Qt和Web埠一起使用。比如,我們可以使用tkinter顯示圖像的相同代碼在瀏覽器中實時顯示網絡攝像頭。人工智慧一直以來,AI和Python都配對在一起使用,但一個問題是缺少用戶的GUI方式與這些AI算法進行熟悉交互。
  • Python小白都會的如何生成詞雲圖片
    很早之前寫過一篇怎麼利用微博數據製作詞雲圖片出來,之前的寫得不完整,而且只能使用自己的數據,現在重新整理了一下,任何的微博數據都可以製作出來,放在今天應該比較應景。
  • |python|電氣和電子工程師協會|編程...
    這幾天暴漲的」雲辦公「、」雲教育「就是一個最好的例子,可以預期的未來,這些產品的需求都會幾何倍數增大,類似於2003年的阿里巴巴那樣得到飛躍發展。所謂好的投資,就是找準時代的方向。股市投資如此,對自身的教育投資亦然。前段時間,56歲的潘石屹在微博上表示,自己將開始學習新的語言Python,作為自己人生的禮物。
  • 1個GUI界面,隨機生成若干姓名並保存為Excel,python如何實現?
    前面內容,我們詳細介紹了如何使用Python生成一定數量的隨機姓名。男女取名有方法,不能千篇一律之前,也提到過,我們在一些項目中,需要若干個隨機姓名,為了節省我們的測試時間,讓測試更加逼真,就定義了一個函數來生成隨機姓名。
  • Python用tkinter製作一個簡單的re測試工具
    前面內容,我們帶大家製作了一個《黑客帝國》中炫酷的代碼雨效果。《黑客帝國》中代碼雨是如何實現的,手把手教你用Python來製作。漂亮的代碼雨效果今天,我們用Python中自帶的tkinter庫製作一個簡單的re測試工具,通過這個工具的製作,我們掌握tkinter中常用控制項的布局、使用方法及有關re模塊的一些基礎知識。
  • 使用Unity感知工具大批量生成、分析合成數據,高效地訓練ML模型
    本文屬於合成數據系列第二篇,我們將用一個對象檢測的例子,來介紹Unity生成和分析合成數據集的各種工具。 在系列首篇文章中(點擊回看),我們討論了搜集大量標籤圖像、訓練機器學習模型完成電腦視覺任務時遇到的各種挑戰。還討論了Google Cloud AI和OpenAI的最前沿研究,在物體檢測等類似任務中使用合成數據的可行性。
  • Python開發者必知的 11 個 Python GUI 庫,你用過幾個?
    當你使用python編寫應用程式時,你就一定要使用GUI。Python GUI的選擇有很多。目前來說,Python GUI程序庫有30多個跨平臺框架。現在就列出其我認為最好的11個.
  • 圖形界面編程技巧,用Python中PyQt5庫快速創建一個應用程式框架
    它既可以開發GUI應用程式,也可用於開發非GUI程序,比如控制臺工具和伺服器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,並且允許真正地組件編程。2008年,Qt Company科技被諾基亞公司收購,Qt也因此成為諾基亞旗下的程式語言工具。
  • 三大Python GUI開源框架,誰才是你的最愛?
    同樣的,對於本地運行的程序來說,Web界面也是十分值得考慮的。尤其是當你覺得用戶可能希望應用程式能夠像Django,Flask或Pyramid這樣的項目可以直接遠程託管。甚至你可以使用類似pywebview這樣的庫將Web應用程式包裹在native GUI window。  那麼如果來創建一個GUI呢?這裡有三個夢幻般的開源庫可以推薦給你!
  • python滑鼠連點器-測試版
    這次先來實現一個具備自動點擊效果的程序,之後再去拓展豐富程序的功能。安裝 pynput正常下載總是不穩定,出現了一片紅色文字,因為伺服器國外的,換成國內鏡像。這裡使用的是清華大學的鏡像下載的,還有豆瓣什麼的都可以,速度會比較快,搞定。
  • 2020年最受歡迎的雲生態開源應用程式監控工具
    但是容器雲架構下系統監控確實一個常常被忽略的問題。儘管容器部署主要涉及在每個容器內運行單個應用程式或服務,但是隨著部署規模的擴大,對環境狀態和運行狀況的可見性變得越來越重要,而不僅僅是在作業系統或應用程式級別,而且在容器級別也是如此。雲生態監控和日誌處理領域分為實時資料庫,度量標準收集器,可視化工具,輪詢器,記錄器等。
  • 第十一課python來寫串口助手-log的自動保存
    2、Txt的讀寫在python非常簡單,我們希望實現的功能:1)自動在目錄下生成文件名;2)文件名最好能關聯到時間;3)內容大於512就自動保存;4)退出的時候,自動把小於512部分的內容保存到log中。
  • 令人讚嘆的8個Python新手工具!
    它的主要功能包括Python shell 窗口(交互式解釋器)、跨平臺(Windows、Linux、UNIX、Mac OS X)、智能縮進、代碼著色、自動提示、可以實現斷點提示、單步執行等調試功能的基本集成調試器。IDLE 易於學習,因為它重量輕且易於使用。但它僅僅是編程世界的敲門磚,可以讓你快速上手,之後的路途依然要找尋一些別的工具。
  • 從零開始寫Python爬蟲,四大工具你值得擁有!
    那麼,學習python爬蟲之前需要哪些準備?一顆熱愛學習,不屈不撓的心一臺有鍵盤的電腦(什麼系統都行。我用的os x,所以例子會以這個為準)html相關的一些知識。不需要精通,能懂一點就行Python的基礎語法知識 。
  • Python開發簡單爬蟲【學習資料總結】
    使用HTTPCookieProcessor; 需要代理才能訪問的網頁使用ProxyHandler; 需要HTTPS加密訪問的網站使用HTTPSHandler; 有些URL存在相互自動跳轉的關係使用