|
1Qter豆
本帖最后由 a769973411 于 2017-5-3 10:12 编辑
最近学QT刚学了两个星期,自己摸索着做一个记事本。
这两天在做那个查找文本的功能,但是遇到了一个很大的问题。希望大神们能帮帮小白。
首先我建立了一个查找文本的新窗口,然后呼出界面。
Dialog *dlg=new Dialog(this);
dlg->show();
然后在Dialog.cpp中定义一个槽,与查找窗口中的(查找下一个)按钮连接,当按下按钮取出lineEdit中的文本作为查找文本,传递到主窗口的查找函数findText1()。
MainWindow mainWin;//定义一个主窗口类
QString findtext=ui->lineEdit_findText->text();
mainWin.fideText1(findtext);//取出要查找的文本,然后传递给主窗口的findText1()
qDebug()<<"findtext:"<<findtext;
在主窗口程序中查找函数findText1()的代码为以下,用来查找textEdit的内容
ui->textEdit->find(findText,QTextDocument::FindBackward);
但是问题来了,无论如何find的返回值都是false,永远都是显示没有找到。
qDebug()<<findText;
发现传入和查找函数中的fintText都没有问题
我在想是不是编译器的问题,然后我新建了一个工程,然后将textEdit和lineEdit都放在主窗口试了一下,发现这样就可以查找到文本。
然后我又返回到两个窗口的程序中,在查找函数中加了一个lineEdit 然后 ui->lineEdit->setText(findText)发现setText也没有作用
我就想会不会是ui的问题,因为在Dialog.cpp中调用的主窗口的MainWindow中的findText1()这个函数,会不会是这个ui指示不定的原因。
对于我这个刚学两个星期的小白菜而言,确实难以理解,所以前来求助,希望大神们能帮帮我。在此感谢!!
|
|