【问题标题】:CIN and COUT alternative to QTCIN 和 COUT 替代 QT
【发布时间】:2012-09-25 12:58:52
【问题描述】:

我是 QT 开发和标准库的新手。

此时我正在尝试创建一个简单的控制台应用程序,虽然它很简单,但它必须是跨平台的。它必须适用于 Linux、Windows 和 android。

虽然我非常习惯使用 std::cout 和 std::cin 来读取和写入控制台。我试图用 QT 库来解决同样的问题。

有没有使用 QT 库与用户交互的方式?我不能使用 std::cout 和 std::cin。

我在堆栈溢出时搜索了答案,但我发现的一切都是人们告诉使用 qDebug,但这不是我需要的,我需要与用户交互。

【问题讨论】:

  • "我不能使用 std::cout 和 std::cin" - 为什么不呢?这是与控制台交互的最便携的方式。
  • 为什么你不能使用std::coutstd::cin,这是我所知道的最便携的通过命令行与用户交互的方式..
  • 已讨论here
  • 当我开始这个项目时,我曾经认为它是与控制台交互的最便携的方式。但是工作人员发出了这个奇怪的请求,要求从程序中删除所有 std::cout 和 std::cin 。这就是我感到困惑的原因

标签: c++ qt qt4 console-application


【解决方案1】:

Qt 主要用于 GUI,但您可以连接一些 Qt 类来充当标准输入和标准输出。

我会至少阅读这三个,如果你真的不想使用 std::cin 和 std::cout,我会以同样的方式使用 QTextStream 对象。

QDebug

QIODevice

QTextStream

这是详细文档中的一段代码:

QTextStream stream(stdin);
QString line;
do {
    line = stream.readLine();
} while (!line.isNull());

QFile 在其文档中也有一些很好的信息。

我看到使用 QTextStream 而不是 std 库函数的唯一真正优势是稍后将其连接到您自己的 GUI 中的内置控制台(稍后)而不是操作系统控制台。

我从用户那里获取设置和设置信息的另一种方法是使用 QSettings 并将默认格式设置为 INI 并使用 QDesktopServices::openUrl() 打开 INI 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多