Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2020_k3_python講座第7回

 2020_k3_python講座第7回

2020年度のk3のpython講座第7回の内容になります

k3たっつー

July 11, 2020
Tweet

More Decks by k3たっつー

Other Decks in Education

Transcript

  1. 前回までのおさらい  データクラス  クラスを簡単に定義できる! 一部特殊メソッドを自動生成 使うときはfrom dataclasses import *と

    @dataclassを忘れずに  クラスオブジェクトを引数にしたり返り値にしたり  メソッド  [変数名].[メソッド名](引数)と書いて呼び出す関数っぽい やつ
  2. 今回のテーマ  tkinter  tkinterとは何ぞや?  Canvasでお絵描き  イベントを受け付ける 

    アニメーションさせてみる  リファレンス https://web.archive.org/web/20190524140835/http://info host.nmt.edu/tcc/help/pubs/tkinter/web/index.html
  3. Canvasでお絵描き  図形等を描画したときidが割り当てられる  shape_id = canvas.create_◦◦()  idを使って色々できる 

    canvas.coords()…描画位置を変えられる canvas.coords(shape_id,x0,y0,x1,y1)など  canvas.itemconfigure()…描画内容をいじれる canvas.itemconfigure(shape_id,fill=“red”)など
  4. イベントをバインド  unbind  (ウィジェット).unbind(イベント,イベントハンドラ)  指定イベントを解除  tag_bind 

    (ウィジェット).tag_bind(tag,イベント,イベントハンドラ)  指定したtagを持つオブジェクトにイベントを結びつける  canvas.create_◦◦(…[option])のoptionにtagがある
  5. イベントの種類 Key,KeyPress キーが押された KeyRelease キーが離された Button マウスボタンが押された ButtonRelease マウスボタンが離された Motion

    マウスの移動 Enter マウスカーソルがウィンドウに入った Leave マウスカーソルがウィンドウから出た <KeyPress-K>のようにして特定のキーを指定できる <Button-N>のようにして特定のボタンを指定できる (それぞれReleaseも同様)
  6. イベントの種類 Shift Shiftを押しながら… Control Ctrlを押しながら… Alt Altを押しながら… Lock CapsLockを押しながら… Double

    ダブルクリック Triple トリプルクリック ButtonN ButtonNを押しながら… モディファイヤと呼ばれる。イベントを修飾できる。 例えば、<Shift-Key-a>で、Shift+aが押されたときのイベントになる。
  7. じゃあ引数を持った関数呼びたいとき はどうするの?  その2.lambdaを使う  lambda 引数: 返り値 の形で書く 

    意味は def func(引数): と同じ return 返り値  これを使うと以下のように書ける
  8. Tips:from importとimportの違い  from ◦◦ import ××は、◦◦モジュールの××を ◦◦.××とせずに使える。××に入るのはクラス名か 関数名 

    import ◦◦の場合、××を使いたいとき◦◦.××と する必要がある。  例  from tkinter import Tk ⇒ tk = TK()  import tkinter ⇒ tk = tkinter.Tk()
  9. Tips:from importとimportの違い  from ◦◦ import * の[ * ]は全部使えるという意味

     モジュールの持つクラス、関数名が他のオブジェク トの変数と被らないようにimport 〇〇で〇〇.××と する。  のような使い分け