2017年2月23日 星期四

[Python GUI][Tkinter實作練習] 自己的看盤軟體自己做 (一) - Tkinter 介紹

這次打算練習一下,

自己用 Python 寫一個看盤軟體,

使用的 Library 是 Tkinter,開始吧!

------------------------------------------------------------------------------------------------------------

這系列練習中,預計要分享下列東西:

1. Tkinter 介紹 + 看盤軟體介紹

2. 看盤軟體圖像介面實作

3. 看盤軟體爬蟲功能實作

這個真的非常有趣,寫出來大概像下面這樣,
















------------------------------------------------------------------------------------------------------------

正文開始。

目標:自己的看盤軟體自己做

使用套件及語言:Tkinter, Python 2.7

------------------------------------------------------------------------------------------------------------

一、Tkinter 介紹

Tkinter 是 Python 的其中一個 GUI 應用,

意思就是,我們可以用它來寫圖像式介面,

除此之外,還有幾個比較常用的 GUI 應用,如:

Kivy (可以跨智慧型裝置,且支持多點觸控。) - 之後會分享

PyQt (可搭配 Qt designer)

其實還有很多種,但反正我們是要用 Tkinter,也不用知道太多

我覺得 Tkinter 本身其實沒比較好用,但他討論度最高,歷史悠久,

所以我就選擇他了。

沒記錯的話,多半微軟電腦都是有自帶 Tkinter,沒的話,到這

Ubuntu/ Linux 會用這系統,應該也不需要安裝教學,

還要注意一點,在 python 3.5 他是叫做 tkinter,

2.7 是叫做 Tkinter,import 時命名要改一下。

------------------------------------------------------------------------------------------------------------

二、基礎工具介紹

Tkinter 裡面有幾個比較常用的套件,稍微介紹一下:

1. Frame:

視窗,這個我覺得是非常重要的一個套件

是一個空白的區塊,可以在裡面放入並組合不同的小套件,

如: 一個 Label + 一個 Entry + 一個 Button

我習慣把不同功能的區塊,各自放到不同的 Frame,

最後再把各個小 Frame 放到整個螢幕滿滿的大 Frame 裡面。

好處是,我想要更改位置的時候,我並不需要逐一更改 Frame 裡面的小套件位置

只要把那個 Frame 移動就可以,

搭配 Frame 的概念,寫作起來也可以更有邏輯。

把 Frame 想成是管理者,而且可以自動分化成不同階級,

老闆、經理、主管那種感覺,以下介紹的套件都是員工。

主管 (小Frame) 管理幾個套件,經理 (中Frame) 管理幾個主管 (小Frame),

大概是這樣。
















橘色是主管,管理幾個 labels 和 buttons,

綠色框框是經理,管理三個主管,而這整個綠色框框,又會被我整個軟體管理。


2. Label:

標籤,這算非常常用,基本上程式裡面的指示標記,我都是使用這個,

除非文字太長或是有其他需求。


3. Text:

文字區塊,這是用來放置一整串文字會使用到的,我們比較不會用到。


4. Entry:

輸入欄,讓使用者輸入東西,並交由程式處理。

這個我們在需要看指定時間內的指數變動時會使用到。

如:想知道 2015 ~ 2016 週 K 棒這樣。


5. Button:

按鈕,用來觸發程式內的功能,也許是跳頁、輸入值、變色... ... 任何。


6. RadioButton:

選擇按鈕,在選擇會互斥的選項時使用。

我們在寫設定蠟燭圖 time span 時可以使用。













7. CheckButton:

選擇按鈕,在選擇不會互斥的選項時使用。


8. Listbox:

列表,以類似 table 的方法,排列資訊並顯示,搭配 Scrollbar 好用。


9: Scrollbar:

捲動軸,就捲動軸...

------------------------------------------------------------------------------------------------------------

三、撰寫邏輯架構

這邊來想一下,我們要寫什麼功能進去看盤軟體裡面,

因為有點長,所以就放到下一篇。

------------------------------------------------------------------------------------------------------------

下一集:

[Python GUI][Tkinter實作練習] 自己的看盤軟體自己做 (二) - 功能需求與架構

8 則留言:

  1. 覺得你的文章都相當不錯

    回覆刪除
  2. 最後覺得還是 flask 配個模板做到網頁上比較容易,
    擴展性強,效能也比較好,code也更乾淨...
    所以 tkinter 分享應該要胎死腹中惹

    回覆刪除
    回覆
    1. 沒問題!但下一篇改用網頁架構,用 Flask 從 localhost 架設一個自己的看盤軟體,這樣擴展性比較強。

      刪除