검색결과 리스트
combobox에 해당되는 글 1건
- 2018.02.22 text + combobox = QCompleter
다음과 같은 요구사항이 있을 경우 상당히 구현하기 까다롭다
requirement :
YYYY MM DD 로 제한없는 입력보다는 제한된 리스트를 제공하여 콤보박스 형태로 보여줌
단, 직접 입력도 가능하도록 처리
년: 1900~2018 까지 제공
월: 01~12 까지 제공
일: 01~31 까지 제공
이 때 쓸만한 것이 QCompleter
example
QLineEdit으로 text 입력을 받고 여기에 QCompleter를 붙이는 형태이다.
이 때 중요한 것은 model을 설정하는 것.
1. 파일에서 모델을 읽어오기도 하고
> 예제 completer->setModel(modelFromFile(":/resources/wordlist.txt")) :: (링크)
2. sql model을 설정하고 특정 컬럼의 데이터만 대상만 보이게 할수도 있다.
> 예제
QSqlQueryModel sample;
completer->setModel(sqmple);
completer->setCompletionColumn(specific column name);
completer->setCompletionMode(QCompleter::PopupCompletion);
3. 하기와 같이 간단하게 string model을 만들수도 있다.
QStringList stringList;
for (int i = 1; i <= selecteddate.daysInMonth(); i++)
{
stringList << QString().sprintf("%02d", i);
}
QStringListModel *dateModel = new QStringListModel(stringList);
QCompleter* dateCompleter = new QCompleter;
dateCompleter->setModel(dateModel);
dateEdit->setCompleter(dateCompleter); //dateEdit은 QLineEdit
RECENT COMMENT