0
我現在已經創建了相同的用戶界面,最初使用GUI構建器爲tcl。然而,就我如何構造我的界面和小部件之間的間距而言,它受到了限制。現在,我已經創建了我的界面,我正在爲特定的窗口小部件創建一個過程塊。例如,我想退出按鈕退出程序。鏈接過程到按鈕
要做到這一點,我創建了以下過程:
proc btnQuit args {
exit
}
這不會導致語法或運行時錯誤然而,當按下按鈕時,程序不會退出。這是最簡單的情況,因爲還有其他更復雜的命令,因此-command標誌不適用於所有情況。
想法?
下面是我的整個代碼。這只是提出了用戶界面。
#Includes the necessary packages
package require BWidget
package require Tk
namespace eval Main_Menu {}
#DO NOT MODIFY!! Graphical User Interface Code DO NOT MODIFY!!
#Limit the size of window
wm maxsize . 475 180 ;#x-500, y-210
wm minsize . 475 180 ;#x-500, y-210
#[Device name] Test Frame w/ associated check boxes
labelframe .lblfrmSelection -text "Testable Devices" -padx 1 -relief groove -height 175 -width 200
button .btnDualUTA -text "Dual UTA" -padx 5 -anchor "center" -justify "center" -padx 3
button .btnTProbe -text "T-Probe" -padx 5 -anchor "center" -justify "center" -padx 7
button .btnOctal -text "Octal" -padx 5 -anchor "center" -justify "center" -padx 14
button .btnUniversal -text "Universal" -padx 5 -anchor "center" -justify "center"
button .btnQuit -text "Exit" -padx 5 -anchor "center" -justify "center" -padx 18
#Setup second frame with image label
labelframe .lblfrmHWSetup -text "Hardware Setup" -padx 1 -relief groove -height 200 -width 175
image create photo glcomm.gif
label .lblSetup -text "Image goes here"
#*************** Render User Environment ******************
#Create Device Test Interface with check boxes in frame.
place .lblfrmSelection -anchor nw -x 5 -y 1 -width 165 -height 175
place .btnDualUTA -in .lblfrmSelection -x 40 -y 15 -anchor "w"
place .btnTProbe -in .lblfrmSelection -x 40 -y 46 -anchor "w"
place .btnOctal -in .lblfrmSelection -x 40 -y 76 -anchor "w"
place .btnUniversal -in .lblfrmSelection -x 40 -y 106 -anchor "w"
place .btnQuit -in .lblfrmSelection -x 40 -y 136 -anchor "w"
#Create label frame "Hardware Setup"
place .lblfrmHWSetup -anchor nw -x 170 -y 1 -height 175 -width 300
place .lblSetup -in .lblfrmHWSetup -x 171 -y 2
# MODIFY BELOW THIS LINE!! MODIFY BELOW THIS LINE!!
proc btnQuit args {
exit
}
我已經提供了代碼,這是我的用戶界面。你在全球命名空間中意味着什麼?我實際上並沒有理解命名空間是什麼,即使我已經在我的代碼中使用< - 我從GUI構建器創建的代碼中複製它。 – ButtahNBred
看起來像所有你需要的是'.btnQuit configure -command btnQuit'後你的btnQuit proc –
它似乎沒有做任何事情。 proc btnQuit {.btnQuit configure -command btnQuit} 該程序不會退出。我也嘗試從最後刪除「btnQuit」。 – ButtahNBred