2013-08-19 2 views
0

QCoreApplication에서 QValidator 및 해당 하위 클래스 (QRegExpValidator, QIntValidator)를 사용하려고하지만 "QValidator : 해당 파일이나 디렉토리가 없습니다" .pro 파일에 다음 줄을 추가하면 다음과 같은 오류가 발생합니다. "QT + = gui"- 모두 정상적으로 작동하지만 나에게 해결책이 아닙니다.QCoreApplication에서 QValidator 사용

QCoreApplications에서 QValidator를 사용하는 기술이 있습니까?

+0

qt 코어 응용 프로그램에 왜 유효성 검사기가 필요한지 기록하십시오. QValidator는 QLineEdit을 사용하기위한 디자인입니다. –

+0

QValidator를 사용하여 프로그램 인수의 유효성을 검사하기로 결정했습니다. 다음과 같은 Smth : if (validator.validate (QString (argv [1]), 0)! = QValidator :: Acceptable ... 첫 번째 매개 변수가 IP 주소이고 올바른지 검사하고 싶다면 –

+0

QValidator는 QString :: toInt', QString :: toDouble'은 작업을 수행해야합니다 (지역화 된 유효성 검사가 필요하다면' QRocale'은 괜찮을 겁니다.) –

답변

1

아니요, 불가능합니다. QValidator는 GUI 라이브러리의 일부입니다. Qt 개발자는 QValidator가 Qt의 텍스트 입력 클래스에서만 의미가 있다고 생각합니다. 위의 진술은 여전히 ​​사실입니다. 그러나 코드를 살펴보면 QValidator는 GUI에 의존하지 않습니다. 언뜻보기에 오히려 독립된 것처럼 보입니다. 따라서 은 Qt 소스에서 qvalidator.cpp 및 qvalidator.h를 소스로 복사하고 적절한 양의 조정을 수행하여이를 코드에 통합 할 수 있습니다. 그것은 가능할 수도 있습니다, 나는 쉽지 않을 것이라고 말하지 않습니다.

+0

나는 그것을하기위한 단순한 해킹이 있다고 생각했다. 아무튼 감사 해요! –