HyperMesh二次開發技術—插件界面開發

1.代碼實例

#新建過程subWindow

proc subWindow {} {
    toplevel .subWindow -background {black}
    wm overrideredirect .subWindow true
    wm attribute .subWindow -topmost true
    wm geometry .subWindow 296x120+300+250
    frame .subWindow.f -relief flat
    label .subWindow.f.label01 -text "" -width 1 -height 5 -background {black}
    grid .subWindow.f.label01 -column 0 -row 0 -padx 2 -sticky ew
    labelframe .subWindow.f.part01 -text "workPath" -width 25 -height 100
    label .subWindow.f.part01.label00 -text "HomeDir"  -font {arial 8 bold} -width 8
    label .subWindow.f.part01.label10 -text "" -width 20 -height 2 -relief groove -borderwidth 4
    button .subWindow.f.part01.button -text "Select" -width 5  -font {arial 8 bold}
    grid .subWindow.f.part01.label00 -column 0 -row 0 -pady 18 -padx 2 -sticky ew 
    grid .subWindow.f.part01.label10 -column 1 -row 0 -pady 18 -padx 2 -sticky ew
    grid .subWindow.f.part01.button -column 1 -row 1 -pady 5 -padx 4 -sticky e
    grid .subWindow.f.part01 -column 1 -row 0 -padx 3 -pady 1 -sticky ew
          
    labelframe .subWindow.f.part02 -text "Import/Export" -width 23 -height 100
    button .subWindow.f.part02.button00 -text "Import" -width 5 -font {arial 8 bold} 
    button .subWindow.f.part02.button01 -text "Export" -width 5 -font {arial 8 bold}
    button .subWindow.f.part02.button02 -text "-Back-" -width 5 -font {arial 8 bold} -command {destroy .subWindow}
    grid .subWindow.f.part02.button00 -column 0 -row 0 -pady 5 -padx 2 -sticky ew
    grid .subWindow.f.part02.button01 -column 0 -row 1 -pady 5 -padx 2 -sticky ew
    grid .subWindow.f.part02.button02 -column 0 -row 2 -pady 5 -padx 2 -sticky ew
    grid .subWindow.f.part02 -column 2 -row 0 -padx 3 -pady 1 -sticky ew
    pack .subWindow.f -padx 0 -pady 1
}

#調用subWindow過程
subWindow

2.代碼解析

(1) toplevel .subWindow -background {black}

在HyperMesh主界面下定義目錄名為".subWindow"的子窗口,背景色為 {black}。

(2) wm overrideredirect .subWindow true

其參數為"true",使窗口管理器徹底忽略一個頂層窗口:沒有裝飾,沒有窗口管理器對窗口交互式操作,沒有圖標化。

(3) wm attribute .subWindow -topmost true

其"-topmost"參數為"true",設置子窗口".subWindow"總顯示在最前面。

(4) wm geometry .subWindow 296x120+300+250

設置子窗口".subWindow"寬296字符,高120字符;

設置子窗口".subwindow"左上角位置為顯示器坐標(300,250)像素點。

(5) frame .subWindow.f -relief flat

在子窗口下建立目錄名為".subWindow.f"的框架,-relief決定框架外觀,其值:raised、sunken、flat、groove、ridge。

應用"pack .subWindow.f -padx 0 -pady 1"將框架加載到子窗口上,-padx:X方向距離邊界,-pady:Y方向距離邊界。

(6) labelframe .subWindow.f.part01 -text "workPath" -width 25 -height 100

在框架".subWindow.f"下添加目錄名為".subWindow.f.part01"的帶標題框架,標題名"workPath",-width:框架寬度,-height:框架高度。

應用"grid .subWindow.f.part02 -column 2 -row 0 -padx 3 -pady 1 -sticky ew"將帶標題子框架加載到框架".subWindow.f"的第2列,第0行位置。

(7) button .subWindow.f.part02.button02 -text "-Back-" -width 5 -font {arial 8 bold} -command {destroy .subWindow}

在帶標題框架".subWindow.f.part02"下添加目錄名為".subWindow.f.part02.button02"的button按鈕,按鈕標題名"-Back-",-width:按鈕寬度,-font:標題字體大小,-command:點擊button后執行的腳本。

應用"grid .subWindow.f.part02.button02 -column 0 -row 2 -pady 5 -padx 2 -sticky ew"將button添加到".subWindow.f.part02"框架下。

(8) subWindow

調用"subWindow"過程。

3.啟動名稱為"subWindow"插件

HyperMesh二次開發02.png

案例源碼進群:756716776下載

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
3