【问题标题】:How to use std::string in a QLineEdit?如何在 QLineEdit 中使用 std::string?
【发布时间】:2010-12-04 23:05:44
【问题描述】:

我有以下问题。我正在尝试将我编写的大型代码与 Qt 接口集成。

我的一些函数返回std::string。我没有成功让QLineEdit::setText 接受它们(返回char 的其他函数不会给我带来问题)。

我该怎么办?谢谢!
朱塞佩

【问题讨论】:

    标签: c++ qt stdstring qstring


    【解决方案1】:

    试试这个:

    std::string a = "aaa";
    lineEdit->setText(QString::fromStdString(a));
    

    您需要支持 STL 的 Qt。

    【讨论】:

      【解决方案2】:

      QString 没有采用std::string 的构造函数。首先使用 std::string::c_str() 将其转换为 C 字符串。

      【讨论】:

      • 丑,我希望能找到更好的东西。我在 Meyer 的书中了解到尽可能使用字符串而不是 char:QT 怎么可能不能正确处理字符串?
      • @Giuseppe:Qt 有自己的 QTL 和自己的字符串类。如果您的 Qt 版本是在 STL 兼容模式下编译的,则大多数 Qt 容器和 QString 可以从/到它们的 STL 对应物转换。 AFAIK 这个模式是默认的。
      • 他们希望您使用QString。我会看看 rpg 的答案,看起来比我的好多了。另一种可能性当然是破解 Qt 的代码,这应该是 10 分钟的事情。
      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2013-06-17
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多