Спасибо
Вячеслав действительно вышло, хоть и верилось с трудом.
Если кто то мучает тот же вопрос - вот
ComboValidator.h
#ifndef COMBOVALIDATOR_H_
#define COMBOVALIDATOR_H_
#include <QtGui/QWidget>
#include <QValidator>
#include <QComboBox>
class ComboValidator : public QValidator
{
public:
ComboValidator(QWidget* parent=0);
QValidator::State validate(QString&, int&) const;
//QStringList strList;
virtual ~ComboValidator();
};
#endif /*COMBOVALIDATOR_H_*/
ComboValidator.cpp
#include "ComboValidator.h"
ComboValidator::ComboValidator(QWidget* parent)
: QValidator(parent)
{
}
QValidator::State ComboValidator::validate(QString& text, int&) const
{
QString srch = text/*.toUpper()*/;
if(srch.isEmpty())
return Acceptable;
QComboBox *cb = (QComboBox*)(this->parent());
for(int i=0; i<cb->count(); i++)
{
if(/*cb->itemText(i).contains(srch, Qt::CaseInsensitive)*/cb->itemText(i).indexOf(srch, 0, Qt::CaseInsensitive) == 0)
{
return Acceptable;
}
}
return Invalid;
}
ComboValidator::~ComboValidator()
{
}
Использовать лутше в режиме QCompleter::InlineCompletion