●●●●TCL/TKなら俺に聞け 4●●●● (542レス)
●●●●TCL/TKなら俺に聞け 4●●●● http://mevius.5ch.net/test/read.cgi/tech/1375678740/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
448: 445 [sage] 2021/08/29(日) 19:35:13.03 ID:tV86Jpzl 翻訳していただいた方には本当に感謝をしております http://mevius.5ch.net/test/read.cgi/tech/1375678740/448
449: デフォルトの名無しさん [sage] 2021/10/16(土) 00:03:45.38 ID:tJlxm3AW macosでx11対応のTcl/Tkをインストールしたいのですが... もともと標準で入っているのですが、x11クライアントではないようです。 ソースコードからインストールすればいいのでしょうか? まだ試してないですがmacで普通に./configureとかしてうまくいくでしょうか。 ご存知でしたら教えてください。mac捨てろとかはなしでお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/449
450: デフォルトの名無しさん [sage] 2021/10/22(金) 20:26:56.81 ID:cl4NFqCg ソースコードから--with-xをつけてインストールできたけど wish起動するとX11じゃなくてmacのウィンドウが出る。 どうすればいいのやら http://mevius.5ch.net/test/read.cgi/tech/1375678740/450
451: デフォルトの名無しさん [sage] 2021/10/24(日) 21:55:25.44 ID:3CkopFKt PATHが もともとMacに入ってる /usr/bin/wish を優先してるとかじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1375678740/451
452: デフォルトの名無しさん [sage] 2021/10/25(月) 00:22:05.55 ID:6Otl3mCz レスありがとうございます。 新しくできたwishを起動してもX11じゃないウィンドウが出ます。 もうちょっと頑張ってみます。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/452
453: デフォルトの名無しさん [sage] 2021/10/25(月) 12:22:38.97 ID:17kCASnx mac知らんけど 普通に考えればOSX 上で独自Xクライアント起動して そのXのターミナルからwish起動しないといけないだろう >新しくできたwishを起動してもX11じゃないウィンドウが出ます。 OSXのX相当のものから起動できてるのなら X11にこだわらなくていいんじゃないの? まさにこれはtcl/tkは関係なくmac捨てろという話になるな http://mevius.5ch.net/test/read.cgi/tech/1375678740/453
454: デフォルトの名無しさん [sage] 2021/10/26(火) 13:08:55.03 ID:5yCnFias >>452 動作環境: macOS High Sierra ver.10.13.6 以下のレシピで tk X11版がmakeできました ( homebrewで入れたtck/tk aqua版に満足しているので make install はしていません ) $ tar xf tk8.6.11.1-src.tar.gz $ cd tk8.6.11/unix (tk8.6.11/macosx だと指定オプションを無視してaqua版を作ってしまうようです) $ CFLAGS="-I/usr/local/opt/tcl-tk/include" ./configure --enable-64bit --with-tcl=/usr/local/opt/tcl-tk/lib --with-x --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib 既にインストール済みのtclディレクトリに合わせて適宜書き換えてください CFLAGS=... を付けないと /usr/include/tcl.h (ver8.5) を参照しようとして make error になります $ make $ otool -L ./wish libX11 etc. を参照している事を確認 $ install_name_tool -change /usr/local/Cellar/tcl-tk/8.6.11_1/lib:/usr/X11/lib/libtk8.6.dylib $PWD/libtk8.6.dylib ./wish インストールせずに動作チェックをしたい! (change箇所はotoolの出力を見れば分かります) $ ./wish pack [button .b -text {こんにちは X11}] .b conf -font {{ヒラギノ丸ゴ Pro} 128} -bg #0ff -fg #f0f $ rm ./wish && make install インストール http://mevius.5ch.net/test/read.cgi/tech/1375678740/454
455: デフォルトの名無しさん [sage] 2021/10/26(火) 21:25:04.67 ID:FIjDTn2o ありがとうございますぅ macosxで作業しててうまく行かなかったのですが、 その後ログをよくよくみたらX11のオプションを無視して わざわざunix/configreを呼び出してたので、 最初からunixに移動してconfigureしたらうまくいきました。 一応自己解決しましたが、454さんのレス見てからやればもっと楽できたのに。 ちなみに自分の環境もHigh Sierraですが、これでいけました。 cd ./tcl8.6.11/unix/ ./configure make sudo make install cd ../../tk8.6.11/unix/ ./configure --with-x --with-tcl=/usr/local/lib/tclConfig.sh make sudo make install ふぅ http://mevius.5ch.net/test/read.cgi/tech/1375678740/455
456: デフォルトの名無しさん [sage] 2021/10/26(火) 21:44:08.46 ID:FIjDTn2o あとX11にこだわる理由ですが、Tcl/Tkで自作したGUIツールのウィジェットに gnuplotのグラフを表示させるためです。 set win [winfo id .c] set gp [open "| gnuplot" w] puts $gp "set term x11 window '$win'" puts $gp "plot hogehoge" みたいにやって、gnuplotに流し込むデータを変化させてぐりぐりやります。 もともとLinuxマシンでやってたのをmacに移植しようとしてます。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/456
457: デフォルトの名無しさん [sage] 2021/10/27(水) 13:24:35.15 ID:wK8HKaYJ winfo id の使い道、初めて知りました 3次元プロットのグリグリまで他アプリの画面に飛ばせる(試してみました)とかX11は自由度高いんですね http://mevius.5ch.net/test/read.cgi/tech/1375678740/457
458: デフォルトの名無しさん [sage] 2021/11/11(木) 20:15:13.31 ID:ss69cckK Tcl/Tkで四角じゃないウィンドウってできるのかな 丸いアナログ時計とかありそうだけど http://mevius.5ch.net/test/read.cgi/tech/1375678740/458
459: デフォルトの名無しさん [sage] 2021/11/15(月) 17:30:52.36 ID:orggkpZ4 素の Tcl/Tk で「丸いアナログ時計」作ってみた (mac版) 少し変えれば winでも出来ると思う https://i.imgur.com/Z17ciJK.png https://wiki.tcl-lang.org/page/Shape に方法が紹介されている. 変形ウィンドウ用の拡張パッケージも紹介されてる (試していない) http://mevius.5ch.net/test/read.cgi/tech/1375678740/459
460: デフォルトの名無しさん [sage] 2021/11/16(火) 22:14:16.95 ID:2BodVrOz おお素晴らしい 見た目が透過するだけでもありがたいけど、透明なところクリックすると後ろのウィンドウがアクティブになったりする? それができたら理想的なんだけど。 と思いつつメインで使ってるシステムで試そうとしたら、Linux版はwm attributeに-transparentがないようで... 残念です。 拡張のShapeはいきなり./configureでつまづいて、かなりハードル高そう http://mevius.5ch.net/test/read.cgi/tech/1375678740/460
461: デフォルトの名無しさん [sage] 2021/11/19(金) 22:33:18.50 ID:OsKHDI1l >>460 LinuxならTkZinc が動くと思います リンク先の紹介では TkZinc used to support it. Now the project seems to have vanished. なんて書かれてますが https://github.com/asb-capfan/TkZinc にあります mac (Tcl/Tk X11版)では一部手直しが必要でしたがmakeできました Linuxならそのままで行けるでしょう > 透明なところクリックすると後ろのウィンドウがアクティブになったりする? これも出来ます ( >>459 では出来ませんでした) package require Tkzinc package require zincGraphics pack [zinc .zc -width 600 -height 600 -render 1 -backcolor #fcc -lightangle 50] # canvasウィジットに於ける oval, line, etc. の要領で # zincウィジット(.zc)に パスを追加していきます set coords {} for {set i 0} {$i < 5} {incr i} { set a [expr 3.141692*2/5*$i] lappend coords [list [expr 300-200*sin(2*$a)] [expr 300-200*positivecos(2*$a)]] } set clip [.zc add curve 1 $coords -closed 1 -visible 0 -fillrule odd] # パスアイテム(clip)の形状(※)によりトップレベルウィンドウをクリッピング # ※サイズは勝手にスケールされてしまいます .zc itemconf 1 -clip $clip http://mevius.5ch.net/test/read.cgi/tech/1375678740/461
462: デフォルトの名無しさん [sage] 2021/11/19(金) 22:37:29.26 ID:OsKHDI1l https://i.imgur.com/kdiAO6F.png 複合パス(.zc contour 〜)を使って xeyes を再現したかったのですがクリッピングすると形が乱れてしまい使い物になりませんでした. 長方形を長方形でくり抜いたような単純なパスならいけます. この辺りは mac特有の問題かもしれません 最後の after 100 main の小細工はそうしないとなぜかエラー吐いて落ちるからです. これも mac 特有の... 他にも回転やスケール機能なんかがあります ドキュメントが貧弱ですが demoフォルダのサンプルが参考になりました http://mevius.5ch.net/test/read.cgi/tech/1375678740/462
463: デフォルトの名無しさん [sage] 2021/11/20(土) 21:48:15.60 ID:EfeaK0DT 複合パスによるクリッピングがうまくいかない件 TkZinc のソースを軽く見た感じでは使われてる三角分割アルゴリズムが単純な形状しか想定してないようです なので Linuxでも変わらないかと思います ただし、代わりに自力で三角分割して .zc add triangles 〜 で座標列を渡せば穴開きでもなんでもいけます とにかく領域を三角形で埋め尽くす、非連結な領域間も潰れた三角形で橋渡しすればOKです package require Tkzinc package require zincGraphics pack [zinc .zc -width 600 -height 600 -render 1 \ -highlightthickness 0 -backcolor white -lightangle 50] set n 64 set coords {}; foreach xc {150 450} { for {set i 0} {$i <= $n} {incr i} { set a [expr 3.141592*2/$n*$i] lappend coords [list [expr $xc+150*sin($a)] [expr 300-300*cos($a)]] \ [list [expr $xc+ 50*sin($a)] [expr 300- 100*cos($a)]] \ } if {$xc == 150} { lappend coords {150 0} {150 0} {450 0} } } set clip [.zc add triangles 1 $coords -visible 0] .zc itemconf 1 -clip $clip https://i.imgur.com/8c5PxP5.png やりたかった xeyesモドキが出来ました http://mevius.5ch.net/test/read.cgi/tech/1375678740/463
464: デフォルトの名無しさん [sage] 2021/11/24(水) 00:38:24.65 ID:hZTuTUPb スゴイ、頑張ればいろいろできるんですね。 ただこちらの環境ではTkZincもインストールのハードルがやっぱり高そうです。 configureでTcl/Tkのインストール情報を参照するところからつまづいてます。 自分は職場のLinuxマシンのいちユーザーで 基本的にインストール的なことはユーザー権限でしかできないため プリインストールのTcl/Tkに拡張機能を追加するのはなかなか難しいです。 今回いろいろ紹介していただいてかなり勉強になりました。 ググってもなかなかたどり着けない情報で、ありがたいです。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/464
465: 本田 [] 2021/12/01(水) 06:14:15.79 ID:1Uo/TpOg GitHub - avl42/tcl-bitcoin: Bitcoin-related stuff using the scripting language Tcl(/Tk) https://github.com/avl42/tcl-bitcoin http://mevius.5ch.net/test/read.cgi/tech/1375678740/465
466: デフォルトの名無しさん [sage] 2022/01/14(金) 17:58:10.63 ID:t9iJHcg/ すみません、最近Tcl/Tk触り始めたんだけど、c言語で、 Tcl_FindExecutable(argv[0]) を書かないとGUIの日本語が文字化けするっていうのは常識なの? 一時間くらいハマったよ http://mevius.5ch.net/test/read.cgi/tech/1375678740/466
467: デフォルトの名無しさん [sage] 2022/01/17(月) 13:14:40.23 ID:OGoMBcpZ >>466 [ generic/tclEncoding.c ] Tcl_FindExecutable( const char *argv0) /* The value of the application's argv[0] * (native). */ { TclInitSubsystems(); TclpSetInitialEncodings(); TclpFindExecutable(argv0); } ・TclInitSubsystems は Tcl_CreateInterpでもコールされているので二度手間 ・Tcl_FindExecutable のコールで内部エンコーディングがセットされているなんて分かりにくい ユーザーとしては Tcl_SetSystemEncoding を使う方が意図が明らかで良いと思いました // Tcl_FindExecutable(NULL); Tcl_Interp *tcl = Tcl_CreateInterp(); Tcl_SetSystemEncoding(NULL, "utf-8"); // 環境変数を見に行かなくても決め打ちで良いでしょう http://mevius.5ch.net/test/read.cgi/tech/1375678740/467
468: 466 [sage] 2022/01/18(火) 08:55:00.16 ID:OTNPHSfm >>467 なるほど、おまじないの中はそういう実装だったのか。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/468
469: デフォルトの名無しさん [sage] 2022/02/05(土) 18:13:26.52 ID: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で同じ動作だったから、こういうもんだと思うしかないのかな。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/469
470: デフォルトの名無しさん [sage] 2022/02/11(金) 15:48:20.76 ID:q5CIic8J >>469 ボタンはクリックにあわせてイメージ更新するけど、先にdestroyが動いて、イメージ更新するときには .b2が無くなってるんじゃないかな? どうしてもbindからdestroyしたいなら、after idleで後回しにすれば動くと思う。(試してない) bind .b <buttonrelease> { after idle { destroy .b }} buttonpressでも動くかどうかは知らない。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/470
471: デフォルトの名無しさん [sage] 2022/02/14(月) 19:42:10.96 ID:FA+PnMJi >>470 ありがとうございます。after idleうまくいきました。 .b2がinvokeされたあとでdestroy .b2が実行されました。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/471
472: デフォルトの名無しさん [sage] 2022/03/21(月) 22:25:21.40 ID:kKOtd3Ut 保守してみます http://mevius.5ch.net/test/read.cgi/tech/1375678740/472
473: デフォルトの名無しさん [sage] 2022/03/27(日) 07:44:59.56 ID:e2GynfHU いまでもTcl/Tkって現役なんだね Macでもつかえるなら勉?しようかな http://mevius.5ch.net/test/read.cgi/tech/1375678740/473
474: 本田 [] 2022/04/14(木) 21:35:28.34 ID:5sOyJ4MB DoS https://wiki.tcl-lang.org/page/DoS アノニマスとは ロシアにサイバー戦、過去に日本も被害: 日本経済新聞 https://www.nikkei.com/telling/DGXZTS00001140X00C22A3000000/ 反ロシア、サイバー「義勇兵」相次ぎ参戦 国境なき攻防 https://www.nikkei.com/article/DGXZQOUC2824A0Y2A220C2000000/ http://mevius.5ch.net/test/read.cgi/tech/1375678740/474
475: デフォルトの名無しさん [sage] 2022/04/20(水) 23:49:31.40 ID:UqzWtfWz 変数置換がなければこれらは同等と考えていいんだろうか? set lst {a b c} set lst "a b c" set lst [list a b c] 空リストをセットするにはこれらも同等なのだろうか? set lst {} set lst [list] パフォーマンス的には下は無駄な気もするけど。 http://mevius.5ch.net/test/read.cgi/tech/1375678740/475
476: デフォルトの名無しさん [] 2022/06/16(木) 00:33:17.71 ID:Wk96MiCq 保守? http://mevius.5ch.net/test/read.cgi/tech/1375678740/476
477: デフォルトの名無しさん [sage] 2022/06/19(日) 10:04:23.53 ID:dNeG9n4b 本田は妖精 http://mevius.5ch.net/test/read.cgi/tech/1375678740/477
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 65 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s