
今日得閒,就想同大家吹下水,講下我之前喺廣州嗰陣,自己手痕搞過嘅一個所謂「廣州論壇QT」嘅小實踐。話係論壇,其實都唔算係,更加似係一個自己攞嚟練手嘅小工具,用咗QT嚟寫咁解。
最初嘅諗法
嗰陣時我喺廣州住咗一排,覺得個城市真係好有活力,好多得意嘅嘢。平時得閒就會上網睇下本地啲資訊、有咩活動、邊度有好嘢食等等。但係啲資訊好多時都好散,要周圍搵。我就諗,不如自己試下整個小程序,可以將啲自己感興趣嘅廣州本地資訊整合埋一齊,方便自己睇。點解用QT?主要係因為我之前接觸過少少,覺得佢跨平台幾而且嗰陣時想重新執返起啲C++嘅嘢,QT算係一個唔錯嘅切入點。
開始動手嘅過程
一開始諗得好簡單,就係整個界面,可以分幾個板塊,例如「最新活動」、「美食推介」、「街坊吹水」之類。然後諗住可以手動或者半自動咁去收集啲網上嘅公開資訊,再顯示出嚟。
我梗係裝返個QT Creator,然後開始畫界面。QT啲拖拉拽控件其實都幾方便,但係要整到好睇,又要自己寫唔少QSS(類似網頁嘅CSS)。部份都磨咗我唔少時間,因為我本身對UI設計真係半桶水都冇。
跟住就係諗點樣攞數據。最初我諗住直接分析啲網頁,但係發現好多網頁結構成日變,或者有反爬蟲機制,好鬼煩。後來諗,不如整個簡單啲,自己手動入啲內容,當係一個本地嘅信息收集器。於是我就整個咗啲輸入框、列表,可以自己加啲標題、內容、圖片咁樣。

遇到嘅困難都唔少:
- 數據儲存:一開始用簡單嘅文本文件存,後來發現要搜尋、要分類就好麻煩,諗過用SQLite,但係又懶得搞咁複雜。
- 多線程:如果要去攞網上數據(雖然最後放棄咗大部份),界面就會卡死,所以要學下用QT嘅多線程,例如QThread。
- 界面美化:個真係我嘅死穴,整嚟整去都係好「工程師風格」,哈哈。
- 動力問題:始終係自己玩下,冇咩壓力,搞搞下有時遇到啲難啲嘅問題就會擺埋一邊,過幾日先再執返。
最後嘅成果同反思
最後,個所謂嘅「廣州論壇QT客戶端」其實都未算係完成品,更加似係一個半成品嘅玩具。主要功能就係可以自己手動添加同分類啲本地資訊,整個簡單嘅列表顯示,可以點擊睇詳情咁。冇乜高深嘅技術喺入面,亦都冇真正做到「論壇」嗰種互動性。
但係個過程俾咗我好多經驗。起碼我重新熟悉咗QT嘅基本用法,點樣創建工程、設計UI、處理信號同槽、簡單嘅數據操作等等。亦都明白到,一個睇落簡單嘅嘢,真係落手做起上嚟,要考慮嘅細節其實好多,由需求分析、設計、編碼到測試,每一步都唔可以少。
雖然個「廣州論壇QT」最終冇乜實際用途,亦都冇公開俾人哋用,但係對我嚟講,算係一次幾好嘅學習同實踐經歷。有時我哋做啲嘢,唔一定係要有咩宏大嘅目標,享受過程,學到嘢,就已經好有價值。好似我咁,得閒攞返出嚟睇下啲舊代碼,諗返起嗰陣時遇到嘅問題同點樣解決,都幾得意嘅。

今日就分享到度,多謝大家睇我喺度「曬鹹魚」。