0

我正在寻找一种构建 C++ GUI 应用程序的好方法。它的核心是生成一大堆 tcl 代码并通过 Tcl C++ API ( #include <tcl.h>) 执行它。GUI 为用户提供了一种简单的方法来完成那些 tcl 脚本任务。

换句话说,在与 GUI 控件关联的每个回调函数内部,就像使用 ostringstream 填充 tcl 代码并将其传递给 tcl 解释器一样。例如:

bool execTclProc1(options) {
  ostringstream oss;
  oss << "package require MyPackage \n";
  string optionsForTcl = genOptionsForTcl(options);
  oss << "myTclProc1 " << optionsForTcl << endl;

  if(Tcl_Eval(interp, oss.c_str() == TCL_OK) {
    // print out some messages to the GUI message window
  }

  ...
}

这种设计的缺点:

  • 难以调试 tcl 代码错误。由于 tcl 代码的每一次更改都需要重新编译 C 代码。虽然一种快速的方法是在 tcl 交互式 shell 中编写和测试 tcl 代码。但是很多 tcl 代码是用 C++ 填充的,而不是硬编码的。所以不是那么可行。

  • 一大堆 tcl 代码是用 C++ 例程编写的。这使得它很难维护。

我想从社区中寻求一些见解。

4

1 回答 1

1

你不能使用Tk 工具包作为C++中的库函数吗?

此外,还有Tk/C++ - 不知道它有多好。他们重载了 operator- 并使用表达式模板,使 C++ 代码像 Tcl 一样。很酷!

于 2012-08-23T20:07:53.633 回答