一路走來,盡係寫些拉雞程式。沒關係,打好基礎後就可以準備擺脫這坨窩囊鳥氣啦 =3=
這次寫個線上字典查閱程式。是的,它會跑去讀取 Yahoo! 奇摩字典 並顯示查詢的單字結果...... 用一種異常偷吃步的方法 =.=
( code )
一路走來,盡係寫些拉雞程式。沒關係,打好基礎後就可以準備擺脫這坨窩囊鳥氣啦 =3=
這次寫個線上字典查閱程式。是的,它會跑去讀取 Yahoo! 奇摩字典 並顯示查詢的單字結果...... 用一種異常偷吃步的方法 =.=
( code )
[PyQt 教學] Part 5: Signals & Slots mechanism ←
到目前為止,我們都是用 procedure-oriented 的方式寫 PyQt code。對於本就是 object-oriented 的 GUI framework 來說,物件導向寫法貌似更加自然,是必需要學會的。
將先前那個 connect 的例子改成 class 型式:( code )
[PyQt 教學] Part 4: Layout Management ←
回到先前的範例,一個簡單的 PushButton:#!/usr/bin/env python
import sys
from PyQt4.QtGui import *
app = QApplication(sys.argv)
button = QPushButton("&Quit")
button.show()
app.exec_()
事與願違。儘管按鈕上寫著斗大的「Quit」,猛擊幾百遍也是無動於衷。
然而其實當它被按下時,就會發出「我被按了」的訊號;只是因為沒人接收到,所以這訊號便隨風而逝瞭 QQ
為了讓 widget 間能彼此溝通,Qt 有一套 Signals & Slots 機制。看看官方的廣告:
Signals and slots are used for communication between objects. The signals and slots mechanism is a central feature of Qt and probably the part that differs most from the features provided by other frameworks.
看看 Qt 中精美的 widget 們:Qt Widget Gallery
平常使用作業系統圖形介面時,就已經摸過不少了;而在 Qt 中也可以看到這些老朋友們。從 PushButton、CheckBox 到 ProgressBar、SpinBox 乃至精美的 CalendarWidget,應有盡有。認識老朋友的名字,對於日後呼叫會有幫助。
先召喚個 QPushButton 出來:#!/usr/bin/env python
import sys
from PyQt4.QtGui import *
app = QApplication(sys.argv)
button = QPushButton("H&ello!")
button.resize(200, 75)
button.move(500, 400)
button.setWindowTitle("Hello World")
button.show()
app.exec_()
[PyQt 教學] Part 1: Introduction ←
如何建構 PyQt 開發環境呢?先把 runtime library 裝好吧:
裝了 runtime lib 之後,執行 *.py 程式碼就可以跑 PyQt 程式啦!當前 PyQt 最新版本是 4.4.4,之後的程式碼範例也會以這個版本為主。 更新後的這系列文章以 Python 2.6 + PyQt 4.5 語法為主。
因為我對 PyQt 頗為有愛 ( 以前用它寫過 Money Expenser ),所以打算生一點 PyQt4 的入門文......
( 礙於個人知識與經驗的有限,難以保證所述完全正確;若有發現錯誤,請提出指正。)
對於初學程式設計的人來說,一項很大的挫折,就是只能在黑黑的屏幕印出九九乘法表,一點 fu 也沒有。不精研演算法之類玩意兒的話,還是得寫出可以點來點去的圖形介面 ( Graphical User Interface ),會比較有成就感。
以工學院常教的 C/C++ 來說,standard 內並無包含 GUI 的部份;想寫 GUI,就得借助一些現成 library / framework 的幫助。選擇很多,滿地都是,但其中個人最有愛的是 Qt ( ......也只摸過這個 )。這系列教學文簡單介紹較好寫的 Qt Python binding - PyQt,期能對對這方面有興趣的人們有些幫助。
當然啦!萬丈高樓平地起;若沒先打好一些程設基本功 ( 像是物件導向概念 ) 的話,一路走下去終究還係會躺平在路邊的......
是的,就是那本《Alice's Adventures in Wonderland》中譯版,同場加映《Through the Looking-Glass》。
該怎麼說呢...... 讓我狂冒 WTF 的一本書。
不愧是童話經典,劇情跳 tone 的程度很係驚人,跳很大跳不用錢;任何風馬牛不相及的事都能湊在一起,角色無釐頭、對話也無釐頭,滿坑強者齊心共創不和諧的夢中社會。
最近學校舉辦一系列講座,邀請了幾位名人來演講。紀錄一下其中最有印象的幾句話:
當然,大師們所論述的東西還有很多啦...... 可惜沒有錄音做筆記,所以記住的所剩不多了。也許再過個幾年,還能記得的真的只剩這一點點。不過聽講過程中確實可以感受到諸位大師的閱歷之豐富...... 信手拈來一堆例子,口若懸河層層闡述核心觀點,很是強大。尤其又以嚴長壽的無雙排比法,最教我嘖嘖稱奇 @3@
另一項大師們讓人崇拜的原因,就是視野的寬廣程度了。在宿舍聽了一整天的計程車喇叭聲,再去洗禮一番,簡直目瞪口呆。或許閱歷與器度是相輔相成的吧,也是偉大人物的共通特質。五體投地 Orz
回顧一番,最喜歡的還是蔣勳那一句。儘管帶些無奈和自我安慰,不過人生大概真的就是這樣吧...... 只能吃苦當吃補囉。未來我還會很需要這句話的。
四個美好的夜晚。很高興不是又在宿舍中虛度了......