从另一个打开tcl程序
我有一个tcl应用程序,我想从另一个tcl应用程序打开它。当我打开它时,打开的应用程序会出现在主应用程序中,在它的四分之一上方。有人知道如何将打开的应用程序显示为单独的窗口吗从另一个打开tcl程序,tcl,tk,Tcl,Tk,我有一个tcl应用程序,我想从另一个tcl应用程序打开它。当我打开它时,打开的应用程序会出现在主应用程序中,在它的四分之一上方。有人知道如何将打开的应用程序显示为单独的窗口吗 我想这可能与WM窗口有关 如果使用source命令,就不会真正启动另一个应用程序。您只是将其他代码加载到现有应用程序中。要实际启动另一个应用程序,您可以使用exec tclsh otherapp.tcl 如Glenn所述,要在同一解释器中获取两个文件时获得两个单独的窗口,它们应该使用单独的顶层 如果您不想修改正在查找的文件
我想这可能与WM窗口有关 如果使用source命令,就不会真正启动另一个应用程序。您只是将其他代码加载到现有应用程序中。要实际启动另一个应用程序,您可以使用exec tclsh otherapp.tcl 如Glenn所述,要在同一解释器中获取两个文件时获得两个单独的窗口,它们应该使用单独的顶层 如果您不想修改正在查找的文件,另一种可能是将每个文件加载到它们自己的解释器中
interp create app2
app2 eval {source otherapp.tcl}
当您想使用此技术时,请确保您的应用程序文件包含
package require Tk
。第二个应用程序是否使用toplevel
命令?或者它只是使用
作为顶级窗口的名称?如何“打开”它?第二个应用程序由3个LabelFrame(.rs、.bs和.ss)组成,其中包含小部件,即rs.label、.bs.checkbutton。这些LabelFrame正在打包(或放置)到第一个应用程序的顶级窗口中——您需要将它们放入新的顶级窗口中。