2009/10/11(日) [n年前の日記]
#1 [perl] Perl/Tkxでthemeとやらを指定するにはどうしたらいいのだろう
Tcl/Tkだと、tileなるソレを使うと、見た目をWindows XPのソレっぽくしたりすることができるらしい。が、Perl/Tkxでどうやればいいのか判らない。
なんだかそれっぽいソースを見かけた。
_http://mda-tools.googlecode.com/svn-history/r15/trunk/MDAPlayground/guiTest.pl
_TkDocs - Tk Tutorial - Styles and Themes でも指定の仕方が。
たしかにそれっぽいボタンのデザインになったのだけど、ウインドウをリサイズするとやたらとちらつく。何か無理をしてテーマの変更を実現してるのかもしれない。そのOSのネイティブな何かを呼んで実現してるわけではないのだろうな。どやら自分でテーマを作ることも可能らしいし。
なんだかそれっぽいソースを見かけた。
_http://mda-tools.googlecode.com/svn-history/r15/trunk/MDAPlayground/guiTest.pl
Tkx::package("require", "tile"); Tkx::ttk__setTheme("winnative"); ... my $button = $mw->new_ttk__button( ... );Tkx::ttk__setTheme("テーマ種類"); で指定して、new_ttk__button() でウィジェットを作る、のかが肝なんだろうか。ttk__〜を使うあたりがポイントなのかな。
_TkDocs - Tk Tutorial - Styles and Themes でも指定の仕方が。
Tkx::ttk__style_theme_use("themename");と書いてある。書き方が違うだけなのか、使ってる機能が違うのかは不明。
たしかにそれっぽいボタンのデザインになったのだけど、ウインドウをリサイズするとやたらとちらつく。何か無理をしてテーマの変更を実現してるのかもしれない。そのOSのネイティブな何かを呼んで実現してるわけではないのだろうな。どやら自分でテーマを作ることも可能らしいし。
◎ _bitWalk's: Tk themed widgets :
先日リリースされた Tcl/Tk 8.5.0 では、"Tk themed widgets" (正式な訳語を知りませんので、便宜上「テーマ・ウィジェット」と呼ぶことにします)というウィジェットが追加されています。このウィジェットは、拡張パッケージ Tile が ttk という名前空間に Tk の標準機能として統合されたものです(TIP#248)。このパッケージは、ウィジェットを OS 固有の見映え(ルック&フィール)に近づけたり、あるいは firefox などで利用できるテーマ(スキン)と同じような機能を実現します。なるほど、ttkとやらの中に含まれた、から ttk__〜を使うのか…。
[ ツッコむ ]
以上です。