Qt中构造函数初始化的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:59:40
Qt中构造函数初始化的问题
悬赏分:5 - 离问题结束还有 14 天 23 小时
#include <QDialog>
class FindDialog:public QDialog
{
Q_OBJECT
public:
FindDialog(QWidget *parent=0);
signals:
void findNext(const QString &str,Qt::CaseSensitivity cs);
void findPrevious(const QString &str,Qt::CaseSensitivity cs);
这两句是什么意思??const QString &str,Qt::CaseSensitivity cs这两个参数是什么意思?请尽量详细些,谢谢哈~!!~~

在void FindDialog::findClicked()中 定义的两个信号
45 if (backwardCheckBox->isChecked()) {
46 emit findPrevious(text, cs);
47 } else {
48 emit findNext(text, cs);
49 }
当用户点击find按钮后 调用这个函数 函数中获取lineEdit和caseCheckBox的状态 然后发送信号
41 QString text = lineEdit->text();
42 Qt::CaseSensitivity cs =
43 caseCheckBox->isChecked() ? Qt::CaseSensitive
44 : Qt::CaseInsensitive;
在别的程序中使用这个类时,可以通过关联这两个信号 知道这个窗口中lineEdit和caseCheckBox的状态

你这个构造函数的功能应该是想实现在一段文字中找出想要的字体吧?

const QString &str,Qt::CaseSensitivity cs
就是说,你的signal需要引用一个字符串str,就是你想找的字符串
然后Qt::CaseSensitivity 是一个enum来的,即:
Qt::CaseInsensitive 0 大小写不配对
Qt::CaseSensitive 1 大小写配对

findNext和findPrevious是指找下一个、上一个配对的字符串

补充下:
第一个参数是要找的字符。
第二个参数是控制查找时是否启用关键字大小写敏感。