我有一个C ++库,我们用它来覆盖一些测试功能。但是,我们只需将其设置为从命令行进行提示。
我希望为它创建一个GUI,用作提示而不是命令行。
我一直在研究Tcl / Tk,但我不确定它是否可以做我喜欢的事情。是否可以使用Tcl / Tk包装器来设置我的库函数的样式?
我能否以某种方式在我的C ++代码中包含Tcl / Tk,以便我在我的库中调用这些函数?
答案 0 :(得分:0)
使用swig包装C ++函数并从Tcl调用它们可能最容易,请参阅this intro,然后您可以使用Tk为输入参数创建GUI和/或显示结果。
答案 1 :(得分:0)
要考虑的两个机制是SWIG和critcl in C++ mode。前者可能更容易使用,因为你已经有了C ++代码,而后者产生了更自然(更“Tcl-ish”)的语言嵌入。
一旦你的库连接起来,首先要做的就是写一个小测试套件(使用{3}},一个Tcl提供的标准软件包),这样你就知道事情正在发挥作用。 (这样可以节省很多心痛和毛发撕裂!)如果您的代码工作正常,您可能会在一两天内拥有足够好的测试套件。然后将它连接到你的GUI(Tk确实很好),这可以安全地知道它正在使用工作正常的业务逻辑层。我鼓励你尽量避免在你的C ++代码中加入任何GUI代码;在没有纠缠的情况下生成干净的界面要好得多。 (好吧,它并不总是可以避免,特别是如果你正在进行大量的可视化,但它还有很多工作......)