标签: tcl


将TCL TK转换为独立应用程序的最简单步骤

在遇到C#,ASP.NET,MS Access,Linux和Mono的主要兼容性问题之后,我决定用跨平台,开源的语言编程,并与兼容许多的嵌入式数据库兼容平台.我把选择范围缩小到了TCL.

在我开始使用TCL进行示例应用程序之前,我想看看创建独立应用程序是多么容易.我购买了一本名为"TCL和TK中的实用编程"的书,下载了TCLkit和FreeWrap,但我找到了将TK(Wish)中的TCL转换为独立应用程序的方法.

是否有人能够提供简单的步骤来将TCL TK脚本(例如带有文本的标签)转换为应用程序,或者具有非常直接解释的Web资源?

tk-toolkit tcl

22
推荐指数
1
解决办法
7458
查看次数

所有Tkinter事件列表

在Python tkinter模块,<Button-1>,<Button-2><Button-3>分别用于确定左,中,右按钮鼠标按钮点击.

同样,<KeyPress-Return>用于返回键按下.

我在哪里可以找到所有此类事件的列表,包括各种键盘键的名称?

Tcl绑定手册没有那些.

python events tkinter tcl

22
推荐指数
2
解决办法
2万
查看次数

spawn和exec有什么区别?

我正在学习编写TCL(期望)脚本,我注意到一些示例显示使用spawn,而其他示例显示命令exec.我试过谷歌搜索,但找不到有什么区别?

假设我在一个长期预期脚本的中间调用'exec',我可以期待发生什么?

scripting tcl exec expect spawn

21
推荐指数
3
解决办法
2万
查看次数

如何在Tcl中简洁地连接字符串?

我可以很容易地连接两个变量foo和bar,如下所示:"$ {foo} $ {bar}".

但是,如果我不想将中间结果放入变量中,如何轻松连接调用某些proc的结果?

这将写得很长:

set foo [myFoo $arg]
set bar [myBar $arg]
set result "${foo}${bar}"
Run Code Online (Sandbox Code Playgroud)

有没有办法在不引入临时变量foo和bar的情况下创建结果?

这样做对我的目的不正确:

concat [myFoo $arg] [myBar $arg]
Run Code Online (Sandbox Code Playgroud)

因为它在两个结果之间引入了一个空格(用于列表目的),如果不存在的话.

看起来像'string concat'就是我想要的,但它似乎不在我的Tcl解释器版本中.

string concat [myFoo $arg] [myBar $arg]
Run Code Online (Sandbox Code Playgroud)

字符串连接在这里写:

string tcl concatenation

21
推荐指数
2
解决办法
4万
查看次数

TCL从列表中删除元素

如何删除TCL列表中的元素说:

  1. 其中索引= 4
  2. 有值="aa"

我已经谷歌搜索,还没有找到任何内置功能.

element list tcl

20
推荐指数
2
解决办法
7万
查看次数

TCL字符串concat

连接字符串的推荐方法是什么?

string concat tcl concatenation

20
推荐指数
3
解决办法
6万
查看次数

Expect中"send_user"和"puts"之间有什么区别吗?

我已经使用了Expect几年了,但是我还不清楚它是否send_user与它相同puts.每当我想向用户发送信息性消息时,我想知道应该使用哪一个.从Expect的手册页看,它似乎send_user是相同的,puts但后来send_user用于什么?

tcl expect

20
推荐指数
2
解决办法
2万
查看次数

在Ubuntu上的python3.6中安装tkinter

+--------+-----------------------------------+
|   OS   |           Ubuntu 12.04            |
+--------+-----------------------------------+
| Python | 2.7, 3.2 and source installed 3.6 |
+--------+-----------------------------------+
Run Code Online (Sandbox Code Playgroud)

由于Python 3有两个版本,因此从存储库安装的任何内容都不适用于Python 3.6.存储库中最新版本的Python是3.2,因此我需要源安装或通过pip3.6.

启动后python3.6我尝试了import tkinter,这给出了以下错误.即使help('modules')返回了包含tkinter的模块列表.

 import tkinter
 ModuleNotFoundError: No module named '_tkinter'
Run Code Online (Sandbox Code Playgroud)

我尝试过同样的做法python3.2并且没有错误. tkinter._tkinter给出了python3.2的tkinter库的位置

我进入了python3.6包含所有库文件的目录,实际上它丢失了tkinter.so目标文件.

我该如何修复错误?

我想让tkinter/tkagg工作,因为它似乎已经安装了所有模块/包.

谷歌搜索后,我发现我需要python3.6再次构建,但这次运行配置时使用Tcl/Tk选项.我宁愿不.python3.6从头开始安装需要1小时左右.

还有其他方法可以告诉我python3.6Tcl/Tk的位置吗?

问题不是告诉python tcl/tk在哪里.搞乱python3.6的源代码,然后将python3.6与python3.2进行比较后,我发现tkinter调用_tkinter而不是python文件,它是python在安装过程中构建的.so(共享对象)文件通过使用gcc的setup.py,它可能会涉及到distutils.

新的更合适的问题是如何_tkinter.cpython-36m-i386-linux-gnu.so从tcl/tk 构建 ?

注意:我确实安装了tcl/tk,我已经使用tclsh和wish确认了.

python tkinter tcl python-3.x python-3.6

20
推荐指数
3
解决办法
2万
查看次数

了解大括号的用法

我正在学习Tcl/Tk,并对tcl中花括号的使用感到困惑.

对我来说它似乎用于指示范围和声明字符串!这是一个错误(或功能)?

我的解释是否正确?

tcl

19
推荐指数
2
解决办法
2万
查看次数