【问题标题】:QLineEdit not setting Text in QT?QLineEdit 没有在 QT 中设置文本?
【发布时间】:2011-08-19 12:51:20
【问题描述】:

我正在使用 QtLine Edit 并使用 lineEdit->settext("Test") 为其设置一些文本。 这工作正常,但是当我从我的结构中设置数据并从宽字符数组转换它时,它没有设置它。

lineEdit->setText(QString::fromWCharArray(pUserInfo.LastName,MAX_NAME_SIZE));

pUserInfo 是一个结构体 姓氏的类型为 wchar_t ,LastName[MAX_NAME_SIZE];

我解决了这个问题

 QString::fromWCharArray(pUserInfo.FirstName,wcslen(pUserInfo.FirstName));

感谢任何帮助。 谢谢。

【问题讨论】:

  • 逗号是复制粘贴错误吗? wchar_t ,Last_N...
  • 不应该是MAX_NAME_SIZE-1吗?你的字符串是空终止的吗?
  • @frank : 如何让它空终止?
  • LastName 的内容是什么(十六进制)?如果它不是以空值结尾的,你怎么知道字符串的实际长度?如果没有 \0 而是随机数据,则转换可能会由于无效字节而中断。
  • 可能 setText 不是问题。尝试QString test = QString::fromWCharArray(pUserInfo.LastName,MAX_NAME_SIZE)); 然后qDebug() << test(你必须#include <QtCore/QDebug>)。看看test 字符串是否还有内容。

标签: qt


【解决方案1】:

我用

解决了
QString::fromWCharArray(pUserInfo.FirstName,wcslen(pUserInfo.FirstName));

【讨论】:

    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    相关资源
    最近更新 更多