指点成金-最美分享吧

登录

QT中怎样提取QTextEdit文本框中的内容?

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了QT中怎样提取QTextEdit文本框中的内容?相关的知识,希望对你有一定的参考价值。

我这样写的
QString stri;
stri=text->toPlainText();
但我发现文本框中的内容并没有赋到stri这个变量中 请高手指教
是不是我缺少某个函数

QT中提取QTextEdit文本框中的内容,代码如下

int a[100];
    QString str = ui->textEdit->toPlainText();
    int len = str.length();
    for(int i = 0; i < len; ++i)
    
        QChar t = str.at(i);
        a[i] = t.toAscii() - "0";
    
"textEdit的数据合理性以及数组大小自己去设定
参考技术A QT中提取QTextEdit文本框中的内容,代码如下
int a[100];
QString str = ui->textEdit->toPlainText();
int len = str.length();
for(int i = 0; i < len; ++i)

QChar t = str.at(i);
a[i] = t.toAscii() - "0";

"textEdit的数据合理性以及数组大小自己去设定
参考技术B stri.append(text->toPlainText);追问

还是不起作用啊
我的这些函数是在构造函数里写的
是不是这个原因啊

追答

在stri.append(text->toPlainText);前,text里有没有文字啊?
在stri.append(text->toPlainText);这句话后面,加上qDebug()<
或者把其他的代码一起贴出来看看呢?

追问

没有啊
这是我的部分代码 你帮我看看
我将QString stri 定义成了私有成员
QTextEdit *text=new QTextEdit(this);
text->setFixedSize(800,500);
text->show();
stri.append(text->toPlainText());
QPushButton *button1=new QPushButton(tr("匹配"));
connect(button1,SIGNAL(clicked()),this,SLOT(checkString()));
我需要将这个stri变量赋到槽函数中 但就是赋不过去

追答

QTextEdit *text=new QTextEdit(this);
text->setFixedSize(800,500);
text->show();
stri.append(text->toPlainText());
这四句结束以后,stri是空的。即使以后text里面有文字了,只要不再次执行stri.append,stri仍然是空。

追问

那我是不是应该把这个函数写到主函数里啊

追答

我又不知道你的程序结构。。。
如果你想保证stri和text里的内容一致的话,要确保每当text里的内容改变,就使用语句
stri.clear(); //好像是这个函数,意思你懂的
stri.append(text->toPlainText());
text应该有textchanged之类的信号

追问

就是说 我text发射textchanged的信号
我的槽函数就是 stri.append(text->toPlainText()); 吗?

追答

嗯,是这个意思。
不过在stri.append(text->toPlainText());之前,先要把stri清空了。
也有一些取巧的方法,不过有点歪门邪道。比如用个定时器,每隔10ms就执行:
stri.clear(); //好像是这个函数,意思你懂的
stri.append(text->toPlainText());

本回答被提问者采纳

以上是关于QT中怎样提取QTextEdit文本框中的内容?的主要内容,如果未能解决你的问题,请参考以下文章