好那麼接下來呢我們來看另外一個example,這個example呢是要做 scatter
plot plotter挺難唸的,那反正就是我們想做一個程式。
它可以畫這個散佈圖。
所以我們程式在這長得像這個樣子。
我們要有兩個 文字方塊,要使用者輸入comma-separated
values 然後呢,我們按plot,那接下來呢,就要在一個
canvas,在一個canvas上面我們的scatter plot畫出來
那麼我們剛剛還沒有用過canvas這個東西,所以現在是要來試一下的時候了。
好,所以呢我們先要plot 1.0,我們先把外觀呢做出來。
所以我們一樣import,我們需要的這個tkinter還有tkinter.front 然後呢我們一樣,繼承frame做出一個class
plotter出來 然後呢,這三行長得跟剛剛一模一樣嘛,先呼叫 parent
constructor 然後呼叫grid函數,然後creat widgets。
好 接下來呢,我們就creat widgets啦,跟剛剛差不多,先建立一個front object,
然後把它拿去給大家用,如果你希望有不同的setting,你可以有不同的front objects。
然後呢建label,這個沒問題,建text box,這個剛剛
有玩過了,所以你這裡把它改成text,就變成text box,來
然後呢,高度,寬度,你一定,一樣樣設 那寬度這裡呢我們先設說你可以打40個字,
button的話呢,就是,你那有個button,讓它按下去的時候可以去 畫東西。
最後你要有個canvas canvas這個物件呢,是用canvas object,叫做canvas class做出來的。
在這裡呢,你要告訴它它屬於誰,它的寬度還有高度。
比如說 要用800*600。
那這裡呢,當然講的800跟600是像素的概念。
好那最後,我這個canvas的background,我是白色的。
然後呢我們把它們呢放到櫃子上面去,所以我們來回憶一下,我們剛剛在幹嘛
我們這裡有兩個lable,x,一個y,對吧,然後有冒號
然後呢後面有大大的文字方塊,然後呢這裡有一個button 最後,底下有一個canvas。
所以基本上你可以看到這裡是第一列,第二列,第三列
第零欄,第一欄,第二欄,如果你跟這裡傳進去的參數對一下,你就可以知道,
我們是怎麼把東西擺上來的,那當然columspan,這個東西,你也現在可以理解它- 在幹嘛。
然後呢,這裡有我們tk.E,我們這個sticky
setting 會讓我們的這個text,label上面的text
都往右邊靠,這樣子我們覺得比較好看,大概是這樣啦 好,那我們很快的地看一下這個程式,plotter1.0在這裡
如我們剛剛所說的,那基本上就是把該加的東西都加上去, 然後呢,我們為了要這個待會兒開發方便起見,
所以我們已經把這個click這個button以後要幹嘛,已經先放好了。
我們目前還沒有讓它做任何的事情。
好,這個執行,好執行以後就會看到這個樣子 那這個canvas剛剛你不能對它做任何事情,那這裡呢你可以打字。
打字是這樣子,反正呢,你目前按下plot它也不會發揮任何的效果。
這樣子,好什麼事都不會發生。
好所以我們就有一個基本 的畫面啦。