找回密码
 立即注册
收起左侧

小白求助,关于一个文本查找的功能

0
回复
6596
查看
[复制链接]
累计签到:6 天
连续签到:1 天
来源: 2017-5-3 09:41:16 显示全部楼层 |阅读模式
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指示不定的原因。


对于我这个刚学两个星期的小白菜而言,确实难以理解,所以前来求助,希望大神们能帮帮我。在此感谢!!





附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了