Tkボタンウィジェットを試すための簡単なスクリプトを作成しましたが、予期しないエラーが発生しました。エラー:不明なオプション "-state"は、button.tclという名前のスクリプトを実行すると発生します。
#!/usr/bin/env tclsh
package require Tk
set w .demo
toplevel $w
ttk::button $w.ok -text OK -command {puts "OK Pressed"}
grid $w.ok
私はこれを実行すると、私は2つのウィンドウを取得:1つのタイトルバーにある「ボタン」と呼ばれるpackage require Tk
コマンドによって作成されたウィンドウ(私はスクリプトの名前ので、「button.tcl」)および他のtoplevel $w
コマンドで作成され、タイトルバーで「デモ」と呼ばれます。
「デモ」トップレベルウィンドウは、期待どおりに動作します。 OKボタンをクリックすると、スクリプトコマンドが実行されます。
エラー:私は、私は次のようなエラーダイアログを取得する「ボタン」ウィンドウ内に私のマウスを移動した場合、問題は、ある未知のオプション「 - 状態」
詳細>>
unknown option "-state"
unknown option "-state"
while executing
"$w cget -state"
(procedure "tk::ButtonEnter" line 3)
invoked from within
"tk::ButtonEnter ."
(command bound to event)
私はまた、このようなwish
インタプリタを使用して代わりにtclsh
、残して、これを実行しているのバリエーションを試してみましたActiveTcl 8.6.4.1とWindows 8を使用していますオフpackage require Tk
、代わりに他のウィジェットを使用するなど
奇妙なことは、スクリプトファイルの名前を "button.tcl"以外に変更すると、エラーは発生せず、すぐに問題は解決しますが
- なぜ、スクリプトが「button.tcl」と呼ばれるとこのエラーが発生するのですか?
- スクリプトファイルに「button.tcl」という名前を使用することに問題がある場合は、注意すべきファイル名が他にありますか?
イメージの操作後に名前を付けないでください。どうして? 'open'という名前のイメージを作成すると、標準的なTclコマンドを置き換えるので、あなたのプログラムは不思議に失敗します。 (そこに行って、それをして...) –
どうやら私はこの本を読む必要があります。 – Brandin