• 5975阅读
  • 7回复

新手入门问题,谢谢各位大虾:如何将textEdit中的内容保存为字符。 [复制链接]

上一主题 下一主题
离线expipi
 

只看楼主 倒序阅读 楼主  发表于: 2008-11-04
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
我用qt4 designer建了个文本编辑框textEdit,我想按OK按钮保存textEdit的内容到char read[100]中。
代码如下:
...
connect(okButton, SIGNAL(clicked()), this, SLOT(copy()));
...
void copy()
{
   strcpy(read,textEdit->toPlainText().toUtf8().data());
   (void) QMessageBox::information(this, tr("Name"),read);
   ....
}
messagebox没内容啊,说明read没复制成功,问题出在那里啊?

离线expipi

只看该作者 1楼 发表于: 2008-11-04
对于lineEdit,可以
strcpy(read,lineEdit->text().toUtf8().data());
请问textEdit有没有类似方便的函数?
离线expipi

只看该作者 2楼 发表于: 2008-11-04
没人理...
离线sanghk

只看该作者 3楼 发表于: 2008-11-04
没有问题,可以显示输入的内容。只是在显示中文时有乱码。 改为:
(void) QMessageBox::information(this, tr("Name"), QObject::trUtf8 (  readd) );
就可以正确显示中文了。
最好不要用read变量,可改为readChr 。
说说你的环境,可能与环境有关。
[ 此贴被sanghk在2008-11-04 17:00重新编辑 ]
离线expipi

只看该作者 4楼 发表于: 2008-11-04
不行啊,输出还是空白...
是不是strcpy 出问题了...
谢谢了!
离线sbtree
只看该作者 5楼 发表于: 2008-11-04
(void) QMessageBox::information(this, tr("Name"),read);
这一句要改一下就能看到了
(void) QMessageBox::information(this, tr("Name"),QString(read));
windows 7 + VC++2008 + Qt4.5.2
离线expipi

只看该作者 6楼 发表于: 2008-11-04
ubuntu下apt的qt4,开发环境应该没问题
离线expipi

只看该作者 7楼 发表于: 2008-11-04
谢谢sanghk 和 sbtree,问题解决了。
我之前把textEdit connect 了一个 slot,再connect copy()时出问题了。
顺便解决的汉字乱码问题,happy!
谢谢!
快速回复
限100 字节
 
上一个 下一个