在Qt小部件中显示cmd.exe窗口

时间:2014-05-02 07:02:11

标签: c++ windows qt qwidget qtgui

我有从Qt小部件内部启动基于CLI(命令行界面)的工具(类似于cmd.exe)的要求,以便用户可以从小部件内部与此CLI进行交互。我唯一的选择是使用QProcess并启动myprog.exe,但在这种情况下,它将有一个单独的窗口。我想要的基本上是嵌入在QTabWidget中的命令行。这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

有几个开箱即用的解决方案,例如QTermWidgetQConsole。您不需要自己编写该小部件。

以下是如何使用它的示例:

console = new QTermWidget();

QFont font = QApplication::font();
font.setFamily("Monospace");
font.setPointSize(12);

console->setTerminalFont(font);
console->setScrollBarPosition(QTermWidget::ScrollBarRight);
console->setColorScheme("WhiteOnBlack");

ui->tabWidget->insertTab(ui->tabWidget->currentIndex(), console, QString(QDir::currentPath()));

根据评论中的建议重新发明自己的解决方案几乎没有任何意义。