能否用python找出vb編寫的軟件密碼?

暴力美學109154321


首先我們來討論一個爭議性問題,用Python做窗口(GUI)編程到底有沒有意義?總體來說,意義不大。為什麼呢?很明顯,Python的強項在於代碼優美、簡潔,把更多的工作留給計算機去運行,從而解放程序猿們。所以用Python的大牛,更多的是用Python做商業爬蟲、大數據分析、Web後端、網絡運維、以及與各種開源硬件結合開發各種智能應用。知乎上有位大神給出了非常好的回答:“如果你有時間花半個小時去開發一個簡單的、非原生的窗口界面,真不如用Python寫好後臺,前臺直接用html幾句代碼搞定,還不用考慮兼容問題”。對此,I can’t agree more。

但是,仔細想來,對於眾多的編程愛好者來說,甚至我們這些科班出身的學生,當年在以C作為啟蒙語言的過程中,真的在學了大半年後還有過這樣的疑問:“到底這玩意兒有什麼用?”。雖然深入學習到一定層次,我們知道了C的效率、C的底層、C的思想,C的“高級”,使我至今仍然膜拜信息學奧賽的各位指導大牛。但是更多天資平平,一腔熱血的程序愛好者可能就在漫漫的黑屏白字中放棄了。高中要體現計算思維,要提高程序設計的思維啟蒙作用,我個人覺得還是要有圖形界面開發作為輔助的,還記得山師附中分享的那些訂餐、搶紅包的案例嗎?我相信學生一定是充滿了興趣去學習的。

那麼問題就來了,python這麼優秀的語言,是不是做出來的窗口也很優雅呢。結果可能出乎你的意料,python自帶的圖形庫tkinter做界面顏值很一般,關鍵整個界面都和java一樣,需要用代碼一點一點壘起來。比如:要做個含有一個按鈕,一個文本框的小程序,光寫界面就要寫如下圖多的代碼,而且大小不合適,就要進入改代碼、運行、改代碼、再運行的循環反覆中。此時此刻,腦海中只有一句歌詞:“這讓我感到絕望,董小姐~”……

所以很多時候,要用Python做成產品級的UI的話,還是要求助第三方GUI開發工具,比如wxPython、pyQT等等。但這些工具,龐大臃腫、學習週期長,對於我們中學教育而言專業性太強。所以有人也想到了這些,給tkinter這個python自帶的圖形庫,開發了對應的圖形設計軟件(插件)。經過網絡檢索比對,我能找到比較靠譜的,是這樣一款VB擴展程序:

這款VB插件利用VB本身設計界面,生成的代碼,可以直接在python2和3中運行:

仔細來看,還是有些瑕疵的,它生成的界面控件,不管設置為絕對大小,還是相對大小,都出現了一定的偏移,估計是和最新的python3.6版本不匹配。拋開這些我還真是覺得這款插件非常適合中學課堂程序教學從VB到Python的過渡,老師們可以研究一下。軟件是一個網友個人做的,放到GitHub上了,百度“VB tkinter”即可下載,遺憾的是隻更新到15年吧。

哈哈,既然前面的Python圖形開發插件不是那麼好用,這麼優秀的VB擴展程序原作者也不再更新維護了,我忽然有一種自己寫一個Python圖形開發工具的衝動。幾天下來,還算是做了個雛形出來,基本功能已經實現。如圖:

視頻演示:

目前這個工具還在開發完善中,還有很多的控件和屬性要添加,總體目標和VB擴展程序版的軟件差不多,當然我會修復下顯示方面的bug,多一個效果預覽功能,重點抓住我們中學實用的各種屬性,各位敬請期待哈。

最後,還是要說一下,界面只是外表,深厚的編程功底、嚴謹的編程思想,才是我們應該追求的主旋律。讓信息技術教師更加專業化,讓信息技術課體現深度思維,前路漫漫,願與各位同仁共勉。


HHH領悟HHH


題主是否要反編譯VB程序編譯的軟件。如果是的話,什麼語言都有解決方案。但是都不能百分之百反編譯。


李老師tome


問題太寬泛了,亦能亦不能


大嶼學英語


可以


分享到:


相關文章: