<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Tcl/Tk 簡介 > 原文: [http://zetcode.com/gui/tcltktutorial/introduction/](http://zetcode.com/gui/tcltktutorial/introduction/) 在 Tcl/Tk 教程的這一部分中,我們將介紹 Tk 工具包并創建我們的第一個程序。 本教程的目的是幫助您開始使用 Tcl 語言的 Tk 工具包。 可以在此處下載本教程中使用的圖像。 我使用了 Gnome 項目的 Tango 圖標包中的一些圖標。 ## Tk Tk 是一個開源的,跨平臺的小部件工具包,它提供了用于構建圖形用戶界面(GUI)的基本元素庫。 Tk 于 1991 年首次公開發行。Tk 是 Tcl 語言的擴展。 這意味著 Tk 通過用于構建用戶界面的其他命令擴展了 Tcl 語言。 有幾種其他語言的綁定,包括 Ada,Perl,Ruby,Python 或 Common Lisp。 Tk 庫通常以其主要語言稱為 Tcl/Tk。 ## Tcl Tcl 是基于字符串的腳本語言。 源代碼被編譯成字節碼,然后由 Tcl 解釋器解釋。 它由 John Osterhout 于 1988 年創建。其目的是創建一種易于嵌入到應用中的語言。 但通常在其原始區域之外使用。 該語言通常用于快速原型,腳本應用,GUI 或測試。 Tcl 代表工具命令語言,其中 Tcl 腳本的源代碼由命令組成。 Tcl 是一種過程語言。 它具有一些函數式特征。 計劃在下一個正式版本中提供 OOP 支持。 Tcl 和 Tk 的官方網站是 [tcl.tk](http://tcl.tk) ## 簡單的例子 在第一個示例中,我們將在屏幕上顯示一個基本窗口。 ```tcl #!/usr/bin/wish frame .fr wm title . Simple wm geometry . 250x150+300+300 ``` 盡管這段代碼很小,但是應用窗口可以做很多事情。 可以調整大小,最大化或最小化。 隨之而來的所有復雜性對應用員都是隱藏的。 ```tcl #!/usr/bin/wish ``` `wish`是 Tcl/Tk 解釋器。 它了解 Tcl 和 Tk 命令。 ```tcl frame .fr ``` `frame`小部件已創建。 框架是創建框架小部件的 Tk 命令。 該命令的參數是小部件路徑名。 小部件路徑名以點字符開頭。 此字符代表主應用窗口。 在 Tk 中,小部件形成一個層次結構。 `.fr`表示框架小部件位于主應用窗口內。 窗口小部件路徑是一個以點開頭的字符串,由多個以點分隔的名稱組成。 這些名稱是組成窗口小部件層次的窗口小部件名稱。 ```tcl wm title . Simple ``` `wm`命令用于與窗口管理器進行交互。 此代碼行設置窗口標題。 ```tcl wm geometry . 250x150+300+300 ``` 在這里,我們設置窗口的大小并將其放置在屏幕上。 前兩個數字指定窗口的寬度和高度。 第三個和第四個參數是監視器屏幕上的 x,y 坐標。 ![Simple](https://img.kancloud.cn/f8/76/f87690d11b02fcd856bd4c9d57de88ec_252x182.jpg) 圖:簡單 window ## 居中窗口 該腳本使屏幕上的窗口居中。 ```tcl #!/usr/bin/wish # ZetCode Tcl/Tk tutorial # # In this script, we center a window # on the screen. # # author: Jan Bodnar # last modified: March 2011 # website: www.zetcode.com set width 250 set height 150 set x [expr { ( [winfo vrootwidth .] - $width ) / 2 }] set y [expr { ( [winfo vrootheight .] - $height ) / 2 }] wm title . "Center" wm geometry . ${width}x${height}+${x}+${y} ``` 我們需要有窗口的大小和屏幕的大小,才能將窗口放置在監視器屏幕的中央。 ```tcl set width 250 set height 150 ``` 這些是應用窗口的寬度和高度值。 ```tcl set x [expr { ( [winfo vrootwidth .] - $width ) / 2 }] set y [expr { ( [winfo vrootheight .] - $height ) / 2 }] ``` 給定其寬度和高度,我們確定居中窗口的`x`和`y`坐標。 ```tcl wm geometry . ${width}x${height}+${x}+${y} ``` 窗口被放置在屏幕上。 ## 退出按鈕 在本節的最后一個示例中,我們將創建一個退出按鈕。 當我們按下此按鈕時,應用終止。 ```tcl #!/usr/bin/wish # ZetCode Tcl/Tk tutorial # # This program creates a quit # button. When we press the button, # the application terminates. # # author: Jan Bodnar # last modified: March 2011 # website: www.zetcode.com button .hello -text "Quit" -command { exit } place .hello -x 50 -y 50 wm title . "Quit button" wm geometry . 250x150+300+300 ``` 我們在窗口上放置一個`button`。 單擊該按鈕將終止該應用。 ```tcl button .hello -text "Quit" -command { exit } ``` `button`小部件已創建。 按鈕的標簽隨`-text`選項一起提供。 `-command`選項指定按下按鈕時要執行的過程。 在我們的情況下,應用使用內置的`exit`命令終止。 ```tcl place .hello -x 50 -y 50 ``` 我們使用`place`幾何圖形管理器將按鈕定位在絕對坐標中。 從根窗口的左上角起`50x50px`。 ![Quit button](https://img.kancloud.cn/b5/87/b5871b35e896418a8d888e62610102e5_252x182.jpg) 圖:退出按鈕 ## 參考 [wikipedia.org](http://wikipedia.org) 和 [tcl.tk](http://tcl.tk) 用于創建本教程。 本節是對 Tcl/Tk 的介紹。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看