X



●●●●TCL/TKなら俺に聞け 4●●●●
0001デフォルトの名無しさん
垢版 |
2013/08/05(月) NY:AN:NY.AN
各種 wrapper でtkってるひとはいても
生で使ってるひとはほとんど居ない希ガス

【英語サイト】
プロジェクト本拠地
http://tcl.sourceforge.net/
最新版ソースコード
ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/
The Tcler's Wiki
http://wiki.tcl.tk/
The comp.lang.tcl Newsgroup
http://groups.google.com/group/comp.lang.tcl/
ActiveTcl
http://www.activestate.com/products/activetcl/
【日本語サイト】
もっとTcl/Tk
http://www.interq.or.jp/japan/s-imai/tcltk/
Tcl/Tk Scripting Laboratory
http://www.geocities.jp/urano343/tcltk.html
Tcl/Tk Primer
http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/ ← 応答なし
Tcl 8.4.1 Manual Command Reference
http://www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm
CategoryTclTk - mynote
http://reddog.s35.xrea.com/wiki/CategoryTclTk.html
【前スレ】
●●●●TCL/TKなら俺に聞け 3●●●●
http://toro.2ch.net/test/read.cgi/tech/1374052935/
●●●●TCL/TKなら俺に聞け 2●●●●
http://toro.2ch.net/test/read.cgi/tech/1177998764/
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
0469デフォルトの名無しさん
垢版 |
2022/02/05(土) 18:13:26.52ID:w4TOp0V+
ちょっとした疑問。
pack [button .b1 -text B1 -command {destroy .b1}]
pack [button .b2 -text B2]
bind .b2 <ButtonRelease-1> {destroy .b2}

.b1をクリックすると.b1が消える。(予想通り)
.b2をクリックすると.b2が消えて、その後エラー発生(invalid command name ".b2")。
どうもbindされたアクションを実行した後、-commandがあってもなくても.b2を実行しようとしてエラーになるみたい。
これって正常な動作なんでしょうか。
8.5と8.6で同じ動作だったから、こういうもんだと思うしかないのかな。
0470デフォルトの名無しさん
垢版 |
2022/02/11(金) 15:48:20.76ID:q5CIic8J
>>469
ボタンはクリックにあわせてイメージ更新するけど、先にdestroyが動いて、イメージ更新するときには
.b2が無くなってるんじゃないかな?

どうしてもbindからdestroyしたいなら、after idleで後回しにすれば動くと思う。(試してない)
bind .b <buttonrelease> { after idle { destroy .b }}

buttonpressでも動くかどうかは知らない。
0471デフォルトの名無しさん
垢版 |
2022/02/14(月) 19:42:10.96ID:FA+PnMJi
>>470

ありがとうございます。after idleうまくいきました。
.b2がinvokeされたあとでdestroy .b2が実行されました。
0475デフォルトの名無しさん
垢版 |
2022/04/20(水) 23:49:31.40ID:UqzWtfWz
変数置換がなければこれらは同等と考えていいんだろうか?
  set lst {a b c}
  set lst "a b c"
  set lst [list a b c]

空リストをセットするにはこれらも同等なのだろうか?
  set lst {}
  set lst [list]

パフォーマンス的には下は無駄な気もするけど。
0476デフォルトの名無しさん
垢版 |
2022/06/16(木) 00:33:17.71ID:Wk96MiCq
保守?
0478デフォルトの名無しさん
垢版 |
2022/07/18(月) 12:05:58.99ID:QD6UUrud
>>475
内部形式のTclオブジェクトは文字列、数値、リストなどの共用体。
必要に応じて実体が変換される。
前二つは文字列が実体、listコマンドを使ったものはリストが実体。
文字列が実体のオブジェクトをlindexのようなリストとして取り扱おうとすると
その時にリストオブジェクトに変換される。
リストが実体のオブジェクトを string のように文字列として取り扱おうとするとその機に文字列オブジェクトに変換される

セット時に変換されるか使う時に変換されるかだけの話でオーバーヘッドはさして気にするだけ無駄
0479デフォルトの名無しさん
垢版 |
2022/07/21(木) 20:58:10.84ID:MTzuJEwF
詳しい解説ありがとう
リストと文字列で内部の扱いは違うけど、使う上では実質どちらも同じようなもんってことね
モヤモヤが晴れました
0481本田
垢版 |
2022/07/31(日) 21:33:27.34ID:6WrWktWl
eoLog Project
https://geolog.mydns.jp/
GeoLog Project は、
閉鎖された日本ジオシティーズのウェブサイトを、
消滅前にできるだけアーカイブ(保存)しようと取り組んだ個人プロジェクトです。
0485デフォルトの名無しさん
垢版 |
2022/08/30(火) 01:09:43.08ID:rnyfpRGV
linuxディストリだとtclはデフォで入ってtkはなかったりするな
tkはおまけじゃい!
0486デフォルトの名無しさん
垢版 |
2022/08/30(火) 17:00:07.19ID:K+ylhC7O
tclshにchshしてみた
rlwrapかませばそれなりに悪くないし、コマンドセットは違えどwinでもunix系でも動くいいシェルだよ
0487本田
垢版 |
2022/09/01(木) 18:04:51.77ID:H4gLLtNR
>>486

Tkcon
https://wiki.tcl-lang.org/page/Tkcon
Summary
tkcon is a replacement for the standard console that comes with Tk (on Windows/Mac, but also works on Unix).
The console itself provides many more features than the standard console.
tkcon works on all platforms where Tcl/Tk is available.
It is meant primarily to aid one when working with the little details inside tcl and tk,
giving Unix users the GUI console provided by default in the Mac and Windows Tk.
It's also not a bad replacement for the default MS-DOS shell (although it needs lots of fine tuning).
0489デフォルトの名無しさん
垢版 |
2022/09/01(木) 21:52:12.42ID:MLaveiUL
かといって対話用途フル装備ってものまた違うかなって、まあスクリプト一つだけど>>488
欲しい機能だけ参考にさせてもらいます
0490デフォルトの名無しさん
垢版 |
2022/09/01(木) 22:51:58.93ID:G4h3gIDD
プログラム開発しながらちょこっと試すのにtclsh使ってて
最近rlwrapを使うようになって格段に便利になりましたが
chshまでしてしまうとは猛者ですね
0491デフォルトの名無しさん
垢版 |
2022/09/01(木) 23:40:22.59ID:MLaveiUL
親シェルがジョブコントロールしてると子シェルのジョブコントロールが有効にならんようで(サスペンドとか)
0493デフォルトの名無しさん
垢版 |
2022/09/02(金) 15:07:59.79ID:K/epF9i/
chshしたり呼ばれた名前を解析して、勝手に自身のシグナルハンドラをジョブコントロール向けに設定するスマートなシェル(bash, pwsh等)はあるが、
→ですらゴミ入るロートルなtclshにそんな機能は…あるのか検証してみる

親から呼ばれるとその親がデフォルトのシグナルハンドラ備え付けてtclsh呼ぶので、tclshの子へサスペンドシグナル送るとtclsh自体がサスペンドされるという仕組み

なのでわざわざchshしなくとも、とりあえずシグナルハンドラを全て空にすれば(trap '' SIGXXX...; exec tclsh的な)、とりあえずtclsh自身は不死
これをスタートラインとして適切にトラップ設定してゆけば、tclsh中心にマルチタスク生活できるかと
0494本田
垢版 |
2022/09/02(金) 19:44:19.56ID:PU1Jv3lM
Jeszra Web Site - SourceForge
http://jeszra.sourceforge.net/jeszra/
Jeszra is an advanced vector graphics application written in Tcl/Tk.
It generates source code for Tcl/Tk, Ruby, Python and Lisp.
0495本田
垢版 |
2022/09/07(水) 05:10:58.52ID:I/Iot45T
ttkdraw: Tom's Tcl/Tk-based Drawing Program
https://hea-www.harvard.edu/~fine/Tech/ttkdraw.html
https://hea-www.harvard.edu/~fine/Tech/ttkdraw1.1-beta.tar.gz
https://hea-www.harvard.edu/~fine/Tech/ttkdraw1.0-beta.tar.gz
Orthographic grid option
Font control.
Consistent (functional) setting of object options
Separate object manipulation mode added (also still available with Control Key).
Added a MIT-style license (see README)
0496デフォルトの名無しさん
垢版 |
2022/09/08(木) 09:42:38.12ID:JEMfdspa
C(C++じゃなくて)から使える標準クラスライブラリtcl/tk
0498デフォルトの名無しさん
垢版 |
2022/09/21(水) 18:05:57.59ID:E8IgYMeH
>>496
Nim
0511デフォルトの名無しさん
垢版 |
2023/08/08(火) 07:33:37.37ID:oSZXXBSZ
Pythonから呼び出して使い始めた初心者です
ラベル表示する場合なんですが・・・

root=Tk()
root.geometry( '100x100' )
↑ここまではOK

l = Label(text='123')
l.pack()
↑pack()でラベルが表示されますが、引数にrootを指定せずともrootウィンドウに表示されます
ウィンドウを複数表示して場合、どのウィンドウにラベルが表示されるのか・・・困りませんか?
0512デフォルトの名無しさん
垢版 |
2023/08/26(土) 07:48:08.83ID:+cbI8vf3
>> 511

Tcl/Tk的にはrootウィンドウを複数作る場合 toplevel というのを使う。
Python/tkinterでTk() のインスタンスを複数作るのはお勧めしない。

どうしてもTk()を複数作りたい場合は、

second = Tk()
l2 = second.Label()

で良いような気がするけどね。
0514デフォルトの名無しさん
垢版 |
2023/11/09(木) 01:22:46.79ID:/rD9ILHy
windowsでtclはずっとActiveTcl使ってたけど
msys2普通に入れてるしもう特にActiveTclにこだわる必要もないようだな
さらばだActiveState
0518デフォルトの名無しさん
垢版 |
2024/02/14(水) 11:45:25.14ID:Zn1qY8FF
Ffidl Win64 binary 欲しい 捜しても見つからん Win32用ばかりだ
0519デフォルトの名無しさん
垢版 |
2024/02/15(木) 14:43:59.78ID:7tK7yyrm
magicsplatにあったような気がする
俺はtcomの64が欲しい
レスを投稿する


ニューススポーツなんでも実況