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/
0268デフォルトの名無しさん垢版2018/05/23(水) 19:33:40.00ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

675X3
0272デフォルトの名無しさん垢版2018/07/04(水) 22:15:55.69ID:gFgZc5FG
PB3
0273デフォルトの名無しさん垢版2018/07/05(木) 11:35:38.34ID:IcGtf/nv
ぶたみん
0274デフォルトの名無しさん垢版2018/09/22(土) 04:09:10.74ID:dKJ+Zat7
>>271
thx あとで使ってみる
0275デフォルトの名無しさん垢版2018/09/22(土) 12:33:05.28ID:xOVRbYWf
4-29
49
6-17
98
9-22
0277デフォルトの名無しさん垢版2018/09/25(火) 11:26:37.41ID:Ldj267OX
Nim 勉強中
0278デフォルトの名無しさん垢版2018/09/25(火) 17:43:58.74ID:+h8jCA9u
tcl/tkは関数型スクリプト言語?
0279デフォルトの名無しさん垢版2018/09/25(火) 17:52:04.93ID:EqDfiqim
文字列渡し文字列返しのイメージ
0282デフォルトの名無しさん垢版2018/09/27(木) 10:24:51.05ID:+X2PETpr
もっと評価されても良いと思う
0283デフォルトの名無しさん垢版2018/09/28(金) 23:41:27.98ID:TLhVFQk5
Tcl/Tkって
まあ業務で使うとかは置いておいて,プログラム初心者が学ぶ言語として最適だと思うのよね。
まず大半の言語と同じくサブルーチンや変数の概念を持ってる
LISPみたいに妙な書きかたをしない
そしてなによりTkを経由してGUIが出せるってのはすごいことだと思うよ。
コマンドラインから
$ ./a.out
とやって数字がインクリメントされるのを眺めても嬉しくないけど
ボタンを押したら枠内の数字が増加していくってのは,プログラミングの実感を持つのに最適。
あとWindowsでもMacでも相当古い機種からサポートされてる。
0284デフォルトの名無しさん垢版2018/09/29(土) 06:43:57.59ID:NSCd5Wk/
LISPってそんなに妙か?
0286デフォルトの名無しさん垢版2018/09/29(土) 10:26:21.51ID:nY5qma4M
Nim ええで
0287デフォルトの名無しさん垢版2018/09/30(日) 07:12:39.24ID:Uo7MVAHW
Nimって結局Cなんでしょ?
なんかラッパー言語って二つの処理系のことを平行して考えないといけないから面倒な印象があるわ
0288デフォルトの名無しさん垢版2018/10/16(火) 00:42:39.86ID:J45RURl2
もっと評価ってwむしろ過大評価されてんだろw
0289デフォルトの名無しさん垢版2018/10/16(火) 03:41:35.09ID:t3pQN/xM
馬鹿には無理
0291デフォルトの名無しさん垢版2018/10/21(日) 22:04:33.61ID:WLg4vmrY
ActiveTcl 8.6.8出てる。
wiki.tcl.tk が wiki.tcl-lang.org になってるみたいだけど、アナウンスか何かあった?
見た目は変わってる。内容は以前の wiki.tcl.tk から移行みたい。(確証無)
0292名無しさん@そうだ選挙に行こう! Go to vote!垢版2018/10/22(月) 10:15:43.29ID:H1W4+XYR
wiki.tcl.tk を開くと wiki.tcl-lang.org に転送されたわ

.tk は過疎るとドメインごと消えるときあるから移行してくれて安心
0294デフォルトの名無しさん垢版2018/10/26(金) 16:41:45.63ID:8hqqerJ0
ブラウザによるんじゃね
0295デフォルトの名無しさん垢版2018/11/03(土) 03:11:11.92ID:9QZ7ObVx
Tcl/Tkにすべてをかけて玉砕したビットウォークという会社があってだな
0296本田垢版2018/11/03(土) 19:17:35.60ID:2xrpGt4x
Tcl/Tk による I18N(国際化) プログラミングの試み
http://www.yk.rim.or.jp/~kawagisi/i18n-tcltk-programing.html
0297デフォルトの名無しさん垢版2018/11/04(日) 13:43:34.41ID:5RY1Lh2I
20年も前の記事出されてもな
0298デフォルトの名無しさん垢版2018/11/08(木) 22:40:39.96ID:BG7B4Ci4
あの新しい情報と古い情報とサンプルコードと議論とコメントとリンク切れリンクなんでもごちゃまぜバームクーヘンみたいになってるwikiを整理したらもうちょっと人気が出るんじゃないの
0300デフォルトの名無しさん垢版2018/11/13(火) 12:27:28.81ID:RJ8agy/H
skd.kitをunwrapしてできた skd.vfs\doc\skd.tkd を読みたいのですが
doc\〜.tkd を読むソフトと方法とかってどなたかご存知ですか
0301デフォルトの名無しさん垢版2018/11/24(土) 20:40:04.25ID:I8hvszb0
Tkの趣旨に反するけど
Tk-GTK+とかTk-Metroみたいに各種OSのツールキットライブラリと動的リンクして
同じプログラムでもそれが実行されたプラットフォームのUIに合わせられたらかっこいいかもね
GNU/Linuxでの透過ウィンドウやWindows 10のフラットテーマとかと協調できたらモチベーションも上がるし。
0302デフォルトの名無しさん垢版2018/11/25(日) 17:26:57.59ID:arFqKMW0
無駄に無駄を重ねる無駄な努力
0304デフォルトの名無しさん垢版2018/11/25(日) 18:28:01.28ID:arFqKMW0
QZはええわ
0306デフォルトの名無しさん垢版2018/12/04(火) 09:56:05.14ID:euG8Im7Y
どこまでいってもQZ
0307デフォルトの名無しさん垢版2018/12/04(火) 20:59:04.75ID:8pLatLNm
tclにはこのまま廃れてロストテクノロジーとして10年後くらいに発掘されてほしいわ
0308デフォルトの名無しさん垢版2018/12/05(水) 13:20:53.69ID:2sSegHBZ
matplotlibが現役最後か
0309デフォルトの名無しさん垢版2018/12/08(土) 18:47:21.78ID:hIfZgykd
マジでQZってなんだ?検索してもソフトウェア開発のWebページしかそれっぽい情報がねえw
0311デフォルトの名無しさん垢版2018/12/09(日) 14:47:56.62ID:rgDJoSoN
0312デフォルトの名無しさん垢版2018/12/09(日) 18:17:12.25ID:OYBInM51
>>303
Swingじゃなくて、AWTとかSWTだな。
0313デフォルトの名無しさん垢版2018/12/15(土) 02:13:48.68ID:VzUt8Mhi
ビットウォークの名前が過去ログの2から消えてる
過去のレガシーがまったく受け継がれてないわけだ
本田が2003年からいてワロタ
0314デフォルトの名無しさん垢版2019/01/16(水) 23:54:12.45ID:OcKWB7fI
Python3.7でTKinterを試したところHiDPI環境では
低解像度のものが拡大されて表示されてしまうようです。

>>> import tkinter
>>> tkinter.TkVersion
としたところ8.6でした。

HiDPI環境で拡大表示ではなく、
大きいサイズのフォントで適切に表示する方法はないのでしょうか?
0315デフォルトの名無しさん垢版2019/01/17(木) 13:44:19.00ID:DbtLCT5r
おま環
0316規制中のため代行垢版2019/01/17(木) 17:17:14.38ID:1e9ITwyO
>>314
求めている回答ではないかも知れませんが、

tk scalingコマンドでスケーリングを変更できるようになっています。

Windows上でwishを起動して以下のコマンドを実行したところ
1.0と3.0では、フォントの大きさに違いがでることを確認できました。

(Tcl-Tk) 1 % tk scaling
1.3333333333333333
(Tcl-Tk) 2 % tk scaling 1.0
(Tcl-Tk) 3 % label .l0 -text "Hello!"
.l0
(Tcl-Tk) 4 % pack .l0
(Tcl-Tk) 5 %

TKinterは使った事がないですが、こんな感じですかね?

root = Tk()kisxe
root.tk.call('tk', 'scaling', 2.0)」

標準(72 dpiモニターに相当)の1.0倍に変更してフォントサイズで指定
するようにしてみてはどうでしょうか?
0317314垢版2019/01/17(木) 20:06:27.87ID:XV1+qWbe
>>316
返信有難うございます。
英語があまり得意ではないのですがTclTKはHiDPIに対応してないみたいですね。
tk scalingも試してみたのですがスケーリングを2倍にすると表示も二倍になってしまいました(^_^;)

ちょっとややこしいですが、

・Windowsのスケーリングを二倍
・Tkのスケーリングを1倍
・フォントサイズを10

という感じにすると
フォントサイズが20になってくれればくっきり表示されるのですが
フォントサイズ10の文字が二倍に拡大されて表示される、という状態です。
Tkのスケーリングを0.5倍にして、フォントサイズを20を直に指定して表示できるか試してみましたが
1.0以下は指定できないみたいで駄目でした。
GTKに入門してみたいと思います。
0318314垢版2019/01/17(木) 20:20:37.78ID:XV1+qWbe
すみません解決しました。
python.exeを右クリック→互換性タブ→HiDPI設定をいじる
0319デフォルトの名無しさん垢版2019/01/17(木) 20:44:57.02ID:qOv+RZ4q
tkinterの話だから変だとは思ってたが
pythonの話かよ
まじ死ねや
0322デフォルトの名無しさん垢版2019/01/18(金) 04:10:42.36ID:6U5tZjv3
ほらね
おま環だろ?
0323デフォルトの名無しさん垢版2019/01/25(金) 09:37:29.34ID:nTExwXep
PythonってもしかしてTcl/Tkの拡張?
0324デフォルトの名無しさん垢版2019/02/06(水) 10:34:34.39ID:+qagyc5o
tcltkで書いたものとtkinterで書いたものを比べたら
速度はtcltkの方が若干勝ってるんだけど
tkinterで書いたものの方がスクロールはスムーズだったのと
大量にgrid入れたscrollableFrameのスクロールだと
tkinterの方がヌルヌル動いたのでtkinterの勝ち
0328デフォルトの名無しさん垢版2019/02/09(土) 13:36:15.73ID:6aHCNF5r
python+tkinterで用が足りるのでtclは要らない子
0329デフォルトの名無しさん垢版2019/02/14(木) 21:12:49.74ID:QKLtUgZm
tcl/tkはRを使ったデスクトップアプリを作るときに重宝する
デスクトップアプリにこだわらずにshinyでwebアプリ作ればいいじゃんと言われれば返す言葉がないが
0330デフォルトの名無しさん垢版2019/02/16(土) 11:09:08.07ID:lF7O1vpr
set s [format "%d %d %d" 1 2 3]

とかを

set lst [list 1 2 3]

から

set s [format "%d %d %d" lst]

あるいは

set s [format "%d %d %d" *lst]

みたいに書くことは出来ますか?
後者二つともエラーになるので
あるとしたら正しい書き方は何ですか?
0331デフォルトの名無しさん垢版2019/02/16(土) 12:37:52.60ID:8dsmpsXe
何がやりたいの?
lstの要素が1、2、3で変数sの値を文字列"1 2 3"にしたいなら下のでいいけど
set s $lst
0332デフォルトの名無しさん垢版2019/02/16(土) 12:43:44.55ID:lF7O1vpr
set s [format "%03d %03d %03d" $lst]
みたいなのでもうまくいかないんです
0333デフォルトの名無しさん垢版2019/02/16(土) 12:51:28.30ID:8dsmpsXe
integer指定してるのに文字列食わしてるからじゃん
0334デフォルトの名無しさん垢版2019/02/16(土) 12:57:13.00ID:lF7O1vpr
set lst [list [expr 1] [expr 2] [expr 3]]
set s [format "%03d %03d %03d" $lst]

これでもダメでした><
0335デフォルトの名無しさん垢版2019/02/16(土) 13:09:24.14ID:8dsmpsXe
tclでは全ての変数が文字列なんだからそりゃそうなる
数値1をリストlstに格納するときに数値1は文字列1に変換される
0336デフォルトの名無しさん垢版2019/02/16(土) 13:12:18.28ID:lF7O1vpr
set lst [list 1 2 3]
set s [format "%03d %03d %03d" [lindex $lst 0] [lindex $lst 1] [lindex $lst 2]]

これならエラーにならないんですが面倒なので
もっと良い方法ありませんか?
0337デフォルトの名無しさん垢版2019/02/16(土) 13:16:17.38ID:lF7O1vpr
あと 335 さんの主張する仕様だと [lindex $lst 0] は文字列なので
333 さんの話と矛盾してる気がしますがどういうことでしょう
0338デフォルトの名無しさん垢版2019/02/16(土) 13:21:28.18ID:8dsmpsXe
数値に変換できるときは勝手に変換してくれるんだね知らなかった
見当違いなこと言ってごめん
0339デフォルトの名無しさん垢版2019/02/16(土) 13:25:32.89ID:lF7O1vpr
なんとなくこれで行ける気もしたのでやってみたのですが

set s [format "%03d %03d %03d" [list $lst]]

だめでした><
もう一息な気がするのであきらめつかずモヤモヤしています
0340デフォルトの名無しさん垢版2019/02/16(土) 15:44:33.35ID:O+uQ3VIp
代行レスはここへ
https://rosie.5ch.net/test/read.cgi/operatex/1549681970/160

160 名前: [Φ|(|´|Д|`|)|Φ] BBxed!! 臨時で名無しです[] 投稿日:2019/02/16(土) 13:42:57.64
お手数ですがよろしくお願いします。

【板名】プログラム技術
【スレ名】●●●●TCL/TKなら俺に聞け 4●●●●
【スレのURL】https://mevius.5ch.net/test/read.cgi/tech/1375678740/l50
【名前欄】代行経由
【メール欄】sage
【本文】↓
>>330
330さんが考えているような書き方は出来ないと思われる。

Tclのリストは空白区切りの単なる文字列です。

list 1 2 3 は3つの要素のリストを生成するが、
"1 2 3" という1つの文字列という扱いです。

よって、set s [format "%d %d %d" $lst] とすると、
set s [format "%d %d %d" "1 2 3"] のように置き換えられます。

求めている回答ではないかも知れませんが、ひと手間かけて以下
のようなことはできます。

リストの各要素をそれぞれ分離して別々の変数にするには、
lassignコマンドを使います。

set lst [list 1 2 3]
lassign $lst x y z

set s [format "%d %d %d" $x $y $z]

これでどうでしょうか。
0341デフォルトの名無しさん垢版2019/02/16(土) 16:20:43.87ID:STqQL4YT
set lst [list 1 2 3]
set s [eval "format {%02d %02d %02d} $lst"]

これでいけました
ほんとうにありがとうございました
0342デフォルトの名無しさん垢版2019/02/16(土) 16:35:31.07ID:AfCn0+WA
>>330
set s [format "%d %d %d" {*}[list 1 2 3] ]
0344デフォルトの名無しさん垢版2019/02/16(土) 16:52:58.14ID:STqQL4YT
set lst [list 1 2 3]
set s [format {%02d %02d %02d} {*}$lst]

これでもいけました
ほんとうにありがとうございました
0345デフォルトの名無しさん垢版2019/02/16(土) 17:07:55.05ID:8dsmpsXe
>>344
この書き方初めて見た
いつもforeachで回してたけどこういう書き方もできるんだね
0346デフォルトの名無しさん垢版2019/02/16(土) 17:11:56.78ID:STqQL4YT
んー expand でも検索したつもりだったのになー

http://www.geocities.co.jp/SiliconValley/4137/dir1/tcltkevolution85.html
>なお、{*}は、8.5がαリリースだったときには{expand}というトークンでして、
>このページにも長くそのように書いていましたが、 正式リリースに伴って{*}と変更されました。
0348デフォルトの名無しさん垢版2019/02/16(土) 19:34:26.00ID:kXtbvz/w
>>324
OSと、tcl/tk, Python/Tkinter それぞれのバージョンと、バイナリパッケージでインストールしたなら、
パッケージの入手元は?

>>328
tcl皆無にするなら、tkinterも動かないんわけだけど
0349デフォルトの名無しさん垢版2019/02/16(土) 22:13:00.74ID:WrrsgfdN
>>345
ver8.4迄はリストをバラして個別に適用するには、evalを使うのが"正統的裏技"だったがver8.5から{*}が導入されマニュアル8.6版のevalの項目ではこちらの使用が推奨されている。
ver8.6のマニュアルでは、eval,info,Tclの項目に小分けして{*}の説明が少しだけある。
0350デフォルトの名無しさん垢版2019/02/17(日) 11:27:32.85ID:7mUUrd8D
同じ動作をさせてるつもりなのですが
ぬるぬる感が明らかに違うので

tkinter + tix
https://ideone.com/0fB1OD

Tcl/Tk + BWidget
https://ideone.com/dpBcd3

違うものを比べてると言われればそうなのかも知れません
0351デフォルトの名無しさん垢版2019/02/17(日) 11:34:57.16ID:7MWZQWrl
>>349
*$lst じゃなくて {*}$lst って書かないといけないのは

文法仕様上前者が無理だったということかな
前者が実現出来ない理由が良く判らない
0352デフォルトの名無しさん垢版2019/02/17(日) 17:33:15.98ID:MVql6Ciy
>>351
多くの言語で、ポインタの内容を *str_pp の様に記す習慣がある。
紛らわしくないように "*" ではなく "{*}" を使用したのかも、単なる趣味かも、判りません
0353デフォルトの名無しさん垢版2019/02/18(月) 10:22:49.56ID:jrTRVIL4
単なる変数展開と個々の引数としての展開では大きく違うからあえて冗長な書き方をすることでパッと見で両者の区別がつくようにしてるんじゃないかな
0354デフォルトの名無しさん垢版2019/02/18(月) 15:25:56.92ID:bbNHvPxv
lassign で型限定する方法ない?
0355デフォルトの名無しさん垢版2019/02/23(土) 22:18:41.43ID:05po+dKO
>>354
やりたいことをもう少し具体的に…(やっぱり難しくてお手上げかもしれないが)
0358デフォルトの名無しさん垢版2019/03/10(日) 15:03:39.13ID:uFsYqTSV
>>344
0361デフォルトの名無しさん垢版2019/04/19(金) 08:27:51.90ID:K+Fou2p2
Tcl/Tkだろ!ボケ!
0365デフォルトの名無しさん垢版2019/06/24(月) 19:46:44.99ID:c6qVqrI9
tkinter の話で申し訳ないのですが、
tcltk側の関数が返してくる tcl形式リスト(文字列)をpython 形式のリストに変換するにはどうしたらいいのでしょうか?

>>> import tkinter
>>> root = tkinter.Tk()
>>> root.tk.eval("package require math::fourier")
'1.0.2'
>>> root.tk.eval("math::fourier::dft %s" % tkinter._stringify([1, 2, 3]) )
'{6.0 0.0} {-1.499999999999999 0.8660254037844388} {-1.499999999999999 -0.8660254037844388}'

math::fourier::dft (離散フーリエ変換) を例として取り上げました。
tkinter._stringify は丁度よくpython形式のリストを整形してくれます。
[1, 2, 3 ] → { 1 2 3 }
ですが、その逆が分かりません。
0366デフォルトの名無しさん垢版2019/06/25(火) 13:56:27.93ID:pO4dP3rM
解決しました。 eval を使わず、call を使えということですね。
>>> root.tk.call("math::fourier::dft", [1, 2, 3] )
((6.0, 0.0), (-1.499999999999999, 0.8660254037844388), (-1.499999999999999, -0.8660254037844388))
0367デフォルトの名無しさん垢版2019/06/25(火) 17:08:51.27ID:XhZtJiMw
よくみろ
それは list じゃなくて tuple だ
レスを投稿する


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