Effective Tcl/Tk Programming: Writing Better Programs in Tcl and Tk
暫譯: 有效的 Tcl/Tk 程式設計:在 Tcl 和 Tk 中撰寫更好的程式

Mark Harrison, Michael McLennan

  • 出版商: Addison Wesley
  • 出版日期: 1997-12-08
  • 售價: $1,925
  • 貴賓價: 9.5$1,829
  • 語言: 英文
  • 頁數: 432
  • 裝訂: Paperback
  • ISBN: 0201634740
  • ISBN-13: 9780201634747
  • 相關分類: 程式語言
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

相關主題

商品描述

 

Description

 

The Tcl scripting language and the Tk toolkit together create a programming environment for creating graphical user interfaces. There is increasing interest in using Tcl/Tk in university classes in order to free students to concentrate on algorithms, etc., rather than spending lots of time on implementation in a lower level language. Anyone who has read Ousterhout's definitive description of the language and wants to learn more about Tcl/Tk will find this book the perfect next step. Based on the authors' extensive experience building and deploying mission-critical Tcl software and teaching others to do the same, this book offers a wealth of practical information on how to exploit the full potential of this remarkable programming environment. Using real programs as examples, the book demonstrates Tcl and Tk concepts. It shows readers how to build Tcl applications effectively and efficiently through plenty of real-world advice, offers valuable design strategies, and points out pitfalls that readers should avoid. It clarifies the more confusing aspects of Tcl/Tk and thoroughly explains Tcl features that have no counterpart in conventional programming languages. Preface.
1. Building Tcl/Tk Applications.

Application-Building Process.
A Small Application.
Designing the Application.
Designing the Screen.
Prototyping the Screen.
Library Analysis.
Adding Behavior to the Program.
Adding Finishing Touches.
Testing the Program.
Packaging the Program.


2. Packing, Gridding, and Placing Windows.

 

Using the Pack Command.
Cavity-Based Model.
Packing Options.
Packing Order.
Hierarchical Packing.
Compressing Windows.
Enlarging Windows.
Unpacking Widgets.
Using the Grid Command.
Grid-Based Model.
Gridding Options.
Resizing Windows.
Mixing Grid and Pack.
Using the Place Command.
Coordinate-Based Model.
Custom Geometry Managers.


3. Handling Events.

 

 

The Event Loop.
Keyboard Focus.
Forcing Updates.
Handling Long-Running Bindings.
Execution Scope.
Quoting and the Event Loop.
Simple Examples Using Bind.
Selecting an Item from a Listbox.
Automatic Button Help.
Class Bindings.
Syntax of the Bind Command.
The Event Specification.
Percent Substitutions.
More Complex Events.
Click, Drag, Drop.
Customizing Widget Behavior.
Binding Tags.
Default Binding Tags.
Using Break to Interrupt Event Processing.
Inventing Binding Tags for Groups of Bindings.
Binding to a Toplevel Widget.
Debugging Bindings.
Displaying Bindings.
Monitoring Events.
Animation.
Animating Items on a Canvas.
Debugging After Events.
Library Procedures for Animation.


4. Using the Canvas Widget.

 

 

Understanding the Canvas Widget.
Scrolling.
Display List Model.
Using Tags.
Canvas Bindings.
Scrollable Form.
Progress Gauge.
HSB Color Editor.
Tabbed Notebook.
Calendar.
Handling Size Changes.
Sensors and Callbacks.
Monitoring Variables.
Simple Drawing Package.
Drawing Items.
Selecting Items.
Moving and Deleting Items.
Configuring Items.
Resizing Items.
Entering Text.
Printing a Drawing.
Saving a Drawing.
Loading a Drawing.


5. Using the Text Widget.

 

 

Understanding the Text Widget.
Indexing Model.
Scrolling.
Using Tags.
Text Bindings.
Using Marks.
Wrap Modes.
Tab Stops.
Simple Text Editor.
Read-Only Text Display.
Appointment Editor.
Using Tags to Apply Styles.
Embedded Windows.
Changing Text Bindings.
Retrieving Appointments.
Hierarchical Browser.
Hierarchical Data.
Creating the Hierarchical Browser.
Using Tags and Marks.


6. Top-level Windows.

 

 

Toplevel Widgets.
Setting the Widget Class.
Communicating with the Window Manager.
Window Placement.
Window Size.
Simple Dialogs.
Modal Dialogs.
Controlling Access to Dialogs.
Create/Destroy Strategy.
Help from the Window Manager.
Show/Hide Strategy.
Unmanaged Windows.
Introductory Placard.
Balloon Help.


7. Interacting with Other Programs.

 

 

Executing other Programs.
Execution Pipelines.
Building Commands and Handling Errors.
Collecting Output from Long-Running Programs.
Driving other Programs without Temporary Files.
Working Around Buffering Problems.
Seeing the Problem.
Fixing the Problem.
Bidirectional Pipes.
Buffering Problems.
Writing and Reading.
Graphical Interface.
Client/Server Architectures.
Advantages.
Disadvantages.
A Simple Server.
A Simple Client.
Smarter Parsing.
Safer Parsing.
Asynchronous Communication.
Handling Multiline Requests.
Network Programming with Sockets.
Overview.
A Networked Server.
A Networked Client.
A Case Study - The Electric Secretary.
Downloading Appointments from the Server.
Sending an Appointment to the Server.
Handling Schedule Conflicts.
Preferences.
Persistent Storage.
Conclusions.


8. Delivering Tcl/Tk Applications.

 

 

Adding Polish to your Application.
Handling Widget Resources.
Handling Unexpected Errors.
Animated Placard.
Creating Tcl/Tk Libraries.
Designing Library Components.
Synthesizing Data Structures.
Adding Callbacks to Components.
Autoloading.
Packages.
Desktop Applications.
Creating a Distribution.
Making Scripts into Executable Programs.
Making a Self-Installing Program.
Web-Based Applications.
Simple Example.
A Few Important Caveats.
Security Policies.


9. Developing Cross-Platform Applications.

 

 

User Interface Issues.
Menu Bars.
Common Dialogs.
Virtual Events.
Fonts.
Option Database.
File System Issues.
File Names.
File Manipulation.
End-of-Line Translations.
Program Invocation Issues.
Communicating with Other Programs.
Environment Variables.
When All Else Fails.


Appendix A. Getting Started with Tcl/Tk.

 

 

Installing on Windows 95/NT.
Installing on UNIX.
Installing on Macintosh


Appendix B. Annotated Bibliography.
Index. 0201634740T04062001

 

 



Back to Top

 

 

商品描述(中文翻譯)

描述

Tcl 腳本語言和 Tk 工具包共同創建了一個用於創建圖形用戶界面的編程環境。越來越多的大學課程開始使用 Tcl/Tk,以便讓學生能夠專注於算法等,而不是花費大量時間在較低級語言的實現上。任何閱讀過 Ousterhout 對該語言的權威描述並希望進一步了解 Tcl/Tk 的人,會發現這本書是完美的下一步。基於作者在構建和部署關鍵任務 Tcl 軟件以及教導他人進行相同工作的豐富經驗,本書提供了大量實用信息,幫助讀者充分發揮這個卓越編程環境的潛力。書中使用實際程序作為示例,展示了 Tcl 和 Tk 的概念。它向讀者展示了如何有效且高效地構建 Tcl 應用程序,提供了大量現實世界的建議,提供有價值的設計策略,並指出讀者應該避免的陷阱。它澄清了 Tcl/Tk 中較為混淆的方面,並徹底解釋了在傳統編程語言中沒有對應的 Tcl 特性。

前言。
1. 構建 Tcl/Tk 應用程序。

應用程序構建過程。
一個小應用程序。
設計應用程序。
設計界面。
原型設計界面。
庫分析。
為程序添加行為。
添加最後的修飾。
測試程序。
打包程序。

2. 打包、網格和放置窗口。

使用 Pack 命令。
基於腔體的模型。
打包選項。
打包順序。
層次打包。
壓縮窗口。
擴大窗口。
解包小部件。
使用 Grid 命令。
基於網格的模型。
網格選項。
調整窗口大小。
混合使用 Grid 和 Pack。
使用 Place 命令。
基於坐標的模型。
自定義幾何管理器。

3. 處理事件。

事件循環。
鍵盤焦點。
強制更新。
處理長時間運行的綁定。
執行範圍。
引用和事件循環。
使用 Bind 的簡單示例。
從列表框中選擇項目。
自動按鈕幫助。
類綁定。
Bind 命令的語法。
事件規範。
百分比替代。
更複雜的事件。
點擊、拖動、放下。
自定義小部件行為。
綁定標籤。
默認綁定標籤。
使用 Break 中斷事件處理。
為綁定組發明綁定標籤。
綁定到頂級小部件。
調試綁定。
顯示綁定。
監控事件。
動畫。
在畫布上動畫項目。
事件後調試。
動畫的庫程序。

4. 使用 Canvas 小部件。

理解 Canvas 小部件。
滾動。
顯示列表模型。
使用標籤。
Canvas 綁定。
可滾動表單。
進度計。
HSB 顏色編輯器。
選項卡筆記本。
日曆。
處理大小變更。
傳感器和回調。
監控變量。
簡單繪圖包。
繪製項目。
選擇項目。
移動和刪除項目。
配置項目。
調整項目大小。
輸入文本。
打印繪圖。
保存繪圖。
加載繪圖。

5. 使用 Text 小部件。

理解 Text 小部件。
索引模型。
滾動。
使用標籤。
Text 綁定。
使用標記。
換行模式。
制表位。
簡單文本編輯器。
只讀文本顯示。
約會編輯器。
使用標籤應用樣式。
嵌入式窗口。
更改文本綁定。
檢索約會。
層次瀏覽器。
層次數據。
創建層次瀏覽器。
使用標籤和標記。

6. 頂級窗口。

頂級小部件。
設置小部件類。
與窗口管理器通信。
窗口放置。
窗口大小。
簡單對話框。
模態對話框。
控制對話框的訪問。
創建/銷毀策略。
來自窗口管理器的幫助。
顯示/隱藏策略。
未管理的窗口。
介紹性標牌。
氣球幫助。

7. 與其他程序互動。

執行其他程序。
執行管道。
構建命令和處理錯誤。
收集長時間運行程序的輸出。
在不使用臨時文件的情況下驅動其他程序。
解決緩衝問題。
查看問題。
修復問題。
雙向管道。
緩衝問題。
讀寫。
圖形界面。
客戶端/服務器架構。
優勢。
劣勢。
簡單服務器。
簡單客戶端。
更智能的解析。
更安全的解析。
異步通信。
處理多行請求。
使用套接字的網絡編程。
概述。
網絡服務器。
網絡客戶端。
案例研究 - 電子秘書。
從服務器下載約會。
將約會發送到服務器。
處理日程衝突。
偏好設置。
持久存儲。
結論。

8. 發布 Tcl/Tk 應用程序。

為您的應用程序增添光彩。
處理小部件資源。
處理意外錯誤。
動畫標牌。
創建 Tcl/Tk 庫。
設計庫組件。
合成數據結構。
為組件添加回調。
自動加載。
包。
桌面應用程序。
創建發行版。
將腳本製作成可執行程序。
製作自安裝程序。
基於網絡的應用程序。
簡單示例。
幾個重要的注意事項。
安全政策。

9. 開發跨平台應用程序。

用戶界面問題。
菜單欄。
常見對話框。
虛擬事件。
字體。
選項數據庫。
文件系統問題。
文件名。
文件操作。
行尾轉換。
程序調用問題。
與其他程序通信。
環境變量。
當一切都失敗時。

附錄 A. 開始使用 Tcl/Tk。

在 Windows 95/NT 上安裝。
在 UNIX 上安裝。
在 Macintosh 上安裝。

附錄 B. 註釋書目。
索引。 0201634740T04062001