我有一个 C++ 库,我们用它来覆盖一些测试函数。但是,我们只是将其设置为从命令行提示。
我正在寻找为其创建一个 GUI 以用作提示而不是命令行。
我一直在研究 Tcl/Tk,但我不太确定它是否能做我想做的事。是否可以使用 Tcl/Tk 包装器来风格化我的库函数?
我可以以某种方式在我的 C++ 代码中包含 Tcl/Tk,以便我在我的库中调用这些函数吗?
我有一个 C++ 库,我们用它来覆盖一些测试函数。但是,我们只是将其设置为从命令行提示。
我正在寻找为其创建一个 GUI 以用作提示而不是命令行。
我一直在研究 Tcl/Tk,但我不太确定它是否能做我想做的事。是否可以使用 Tcl/Tk 包装器来风格化我的库函数?
我可以以某种方式在我的 C++ 代码中包含 Tcl/Tk,以便我在我的库中调用这些函数吗?
可能最容易用 swig 包装 C++ 函数并从 Tcl 调用它们,请参阅 此介绍,然后您可以使用 Tk 为您的输入参数创建一个 GUI 和/或显示您的结果。
为此要考虑的两种机制是 C++ 模式中的SWIG和critcl。前者可能更容易上手,因为您已经拥有 C++ 代码,而后者产生更自然(更“Tcl-ish”)的语言嵌入。
连接好库后,首先要做的可能是编写一个小测试套件(使用tcltest
Tcl 提供的标准包),以便您知道一切正常。(这在以后省去了很多心痛和烦恼!)如果您的代码运行良好,那么您可能会在一两天内拥有一个足够好的测试套件。然后将它连接到您的 GUI(Tk 确实对此很有用),可以安全地编写它,因为它知道它正在使用运行良好的业务逻辑层。如果可以,我鼓励您避免将任何 GUI 代码放入 C++ 代码中;产生一个没有纠缠的干净界面要好得多。(好吧,这并不总是可以避免的,特别是如果你正在做大量的可视化,但它需要更多的工作......)