2019年2月12日火曜日

Tcl/Tk ボタンの配置など



ボタンの配置出来たけど時間かかったわ~( ̄― ̄)
今のGoClipはリソースで作ったので簡単だった、その代わり柔軟さはない
ダイナミックに配置しようと思ってたけど面倒なので実装しないままです
でも多分その方が簡単だったと思う
メインウインドウのサイズに応じてボタン等の部品を配置する関数を書いて、サイズ変更の都度そこに投げるだけだから
これをTcl/tkで書くと色んなオプションを駆使しなくちゃいけない

このMainタブはtextの下にframeをpackして、frameの中にボタンをgridしてる
それぞれウインドウのリサイズ時に一緒に伸びたり縮んだりする
packは -fill と -expand を使う
widget の時点で -anchor  -sticky も使う
試行錯誤の繰り返しだが理屈がわからん!!(>_<)!!

gridは結構わかりやすかった
columnconfigure で -weight をかけてやれば良い
でも元のframeを適切に配置出来なければこれも意味ない

同じウインドウにpack と grid を混在させたら、エラーにはならないけど画面が描画されずに、プロセスだけ残る状態になった
これバグですかね

実はまだtextをうまく pack 出来てない
widget配置のスキルを上げて意味あんのかな~って少し疑問に思いながらも、区切りがつくまではやってみます~(・∀・)ノ

2 件のコメント:

  1. ジオメトリマネージャの考え方は「Rubyを256倍使うための本 界道編」が参考になりました。これはかなり古いRuby/Tkの解説書なんですけど、Tcl/Tkの解説書はもっと古いのでそれよりは新しくて分かりやすかったです。

    返信削除



  2. isoroku2019年5月9日 16:34

    2月にコメントいただいてたんですね
    今気づきました
    返信大変遅くなり申し訳ありません
    このブログは10年やってますがコメントいただいたのは初めてでした(・∀・)ノ

    Tcl/Tk やってたのはつい数ヶ月前だったんだなあと思うくらい今私はどっぷりPythonにはまってます
    Pythonでもtkは使えますが、いろんなGUIをいじってるうちにQtに落ち着きつつあります
    でもGUIの考え方、特に部品の配置についてはどれも似ていて、tkでの試行錯誤は役に立っています

    yamasakiさんはRubyな方ですか?
    私はtclの将来性に疑問を感じてrubyを勉強しているうちに浮気したpythonに本気になってしまいました
    しかし最近sqliteをいじってるんですが、pythonだと使いづらく、rubyから操作した方が簡単そうだなと思ったり
    今は色んな選択肢があって情報も多いし、良い時代になったなあと感じます

    返信削除