#include <QtGui>
return s1.toLower() < s2.toLower();
}
{
Q_OBJECT
public:
QString get_item
() const { return lineEdit
->text
();
} void clear() { lineEdit->setText(""); }
private slots:
void filterRegExpChanged
(const QString &s
) { proxyModel
->setFilterRegExp
(QRegExp(s, Qt
::CaseInsensitive,
QRegExp::RegExp));
}
private:
QList<QString> names;
};
for (int i = 0; i < 5; i++)
qSort(names.begin(), names.end(), caseInsensitiveLessThan);
model->setStringList(names);
proxyModel->setSourceModel(model);
proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
completer->setCaseSensitivity(Qt::CaseInsensitive);
completer
->setModelSorting
(QCompleter::CaseInsensitivelySortedModel);
label
= new QLabel(tr
("...:"),
this);
lineEdit->setCompleter(completer);
label->setBuddy(lineEdit);
findButton->setDefault(true);
connect(lineEdit,
SIGNAL(textEdited
(const QString &)),
this,
SLOT(filterRegExpChanged
(const QString &)));
mainLayout->addWidget(label);
mainLayout->addWidget(lineEdit);
mainLayout->addWidget(findButton, 0, Qt::AlignRight);
setLayout(mainLayout);
setWindowTitle(tr("Find"));
}
#include "main.moc"
int main(int argc, char **argv){
FindDialog *dialog = new FindDialog(0);
dialog->show();
return app.exec();
}