發表於 PyQT5Python新世界的開端

【Python】PyQT5 英文翻譯神器

前言:

前幾天看到有人在 TechOrange 上投稿了一項程式

功能主要是開啟之後只要使用者隨便在任何地方複製一段文字
就可以直接自動翻譯成中文並顯示在程式中

我想想 Python 應該可以很輕易的做到這樣的功能吧(疑問態度?XD)
所以我昨天就花一個晚上(大概一小時多吧?)
(然後打文章加上做影片花了隔天的一下午….)
做了一個自己的英文翻譯神器啦~~!

我分成 UI 和 剪貼簿與其他資訊簡短說明~
這次架構沒分的很清楚
畢竟使用 PyQT 總是希望分割成 MVC 的架構
不過這次很開心一股腦地寫和嘗試把UI檔案以外的程式通通寫在一個檔案裡面了

UI部分 : 我就是用我比較熟悉的 PyQT5 製作
剪貼簿部分: 有用到底層一點的 Ctypes 與 PyQT4 的 QApplication.clipboard

雖然這只是一個小專案 # 拿不上檯面QQ
不過可以勉強當作品集的一部分吧XDDDD(喂

正文:

程式碼可能要整理整理在放上來
不過我先迫不及待的(?)說一下架構吧~

UI:

就是前一篇提到的,最近常常使用到PyQT5,所以我就利用它來製作介面啦
介面很簡單
就是一個滿版的 Text Browser 每次偵測到 剪貼簿更動舊更新一次上面的文字

ClipBoard:

這個比較麻煩
關鍵字就是利用contextlib, ctypes 和 QT 中QApplication的 ClipBoard 等等
因為寫完就想要分享 所以目前都放在同一個檔案中…超亂XD

最後所有資訊都蒐集好以後就利用 QTimer 每0.1秒檢查並且更新 Text Browser一次,就可以做到這樣的程式功能啦!

另外在程式UI的控制中,有一個很值得一提的是
為了製作出永遠在視窗最上層的功能,必須加入一項參數

QtCore.Qt.WindowStaysOnTopHint

大概就到這裡啦!
有任何想法或是想討論的都可以留言喔!
# 動畫也是我製作的(小驕傲一下~

作者:

一位 熱愛資工領域、喜歡好笑事物、偶爾打打網球 的學生 ! For A Better Me!

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.