在 gui 应用程序中打开控制台

Posted

技术标签:

【中文标题】在 gui 应用程序中打开控制台【英文标题】:Open console inside gui application 【发布时间】:2012-06-09 15:59:00 【问题描述】:

我正在尝试用 C++ 创建一个程序,该程序在 CMD 表单中与他一起打开,以便我可以在程序内部的 CMD 中运行程序。例如,在这张照片中:

我找到了一些示例,但无法在代码中实现它们,所以,我请求你的帮助......更准确地说,我想在 dll 中创建一个函数,所以我可以调用这个 CMD,从任何开始语言


基本上是嵌入控制台

【问题讨论】:

老实说,我能想到的最好的方法是使用 ConsoleWindowClass 类创建一个子窗口。不过,控制台有时有点奇怪。 【参考方案1】:

我看到了两种方法:

编写您自己的控制台小部件并将所有输入的命令传递给 std::system 命令 执行How to open a console window in a Win32 application 中描述的操作

【讨论】:

哦,谢谢,但是,使用这个,我如何放置按钮、标签...? 对于第二种方法,您必须使用单独的窗口。控制台不能直接包含在应用程序中。但我认为第一种方法可以让您伪造控制台在您的应用程序中的集成。您只需要编写文本编辑的控制代码(即,过滤一些字符并将输入的行发送到 std::system 每当用户按“回车”时)。它具有“便携”的优势(如果您使用可移植的 GUI,例如 Qt),因为 std::system 是标准的。 好的,但是,我需要用 TUI 打开一个程序,像这样:i.imgur.com/zkC5V.png 我从未玩过 Tui 库,但如果他们使用标准输入/输出流,您可以将其重定向到“假”控制台。否则您将不得不使用单独的窗口。

以上是关于在 gui 应用程序中打开控制台的主要内容,如果未能解决你的问题,请参考以下文章

PyQt4 GUI 关闭后关闭打开的控制台

将 Pyqt GUI 主应用程序作为单独的非阻塞进程运行

Tkinter 用窗口打开控制台窗口

我的精神分裂症控制台/gui Qt5 程序应该使用 QApplication 还是 QCoreApplication?

Rust GUI编程

Rust GUI编程