0

私のフォームは基本的な 2 つのラベル フレームで、そのうちの 1 つはチェック ボックスを含み、もう 1 つは画像です。この 2 つのフレームの下には、戻るボタンと開始ボタンがあります。ウィンドウは変更できないように事前設定されていますが、開始ボタンを押すと追加のウィジェットが画面に表示されます。ただし、チェックボックスが選択されて開始ボタンがクリックされた後にのみ、ウィジェットを作成して画面に配置したいと思います。スタートボタンは、「Balanced」という関数を呼び出します。このコード内で新しいウィジェットを作成し、ウィンドウに配置します。ただし、エラーが返されます:「ウィンドウのパス名 '.lblfrmProgress' が正しくありません」

#Set Dual UTA Window as top-level
set UTA .dual_uta
wm state . withdrawn
catch {destroy $UTA}
toplevel $UTA

#Window Properties
wm title  $UTA {Device: Dual UTA}
wm maxsize $UTA 522 231 ;#x-500, y-231
wm minsize $UTA 522 231 ;#x-500, y-231

上記は、UTA のエイリアスでウィンドウを作成するコードのセクションです。このウィンドウは最上位のウィンドウなので、$UTA.[パス名] で参照できると思いました。

global UTA .dual_uta
#**************** DO NOT MODIFY - USER INTERFACE CODE *******************

    #Setup window with labels to show progress
    labelframe $UTA.lblfrmProgress  -text "Test Progress" -padx 1 -relief groove -height 145 -width 520
    label $UTA.lblUTASetup          -text "Dual UTA setup according to image"
    label $UTA.lblVQuadStart        -text "VQuad is initializing"
    label $UTA.lblVQTStart          -text "VQT is initializing"
    label $UTA.lblLMC               -text "Load 'Balanced' Master Configuration"
    label $UTA.lblTxRx1             -text "Side 1 Tx - Side 2 Rx"
    label $UTA.lblTxRx2             -text "Side 1 Rx - Side 2 Tx"

ウィンドウ変数名を間違って参照していませんか? プロシージャ コールを介してウィンドウ変数を渡す必要がありますか? 「source Balanced.tcl」を使用してファイルを呼び出すだけです

助けてくれてありがとう!

4

2 に答える 2

1

proc で UTA 変数を作成しますか? その場合は、そこでもグローバルに宣言する必要があります。

このglobalコマンドは 1 つ以上の変数名を取るためglobal UTA .dual_uta、意味がありません。

于 2013-07-30T18:33:12.413 に答える