안녕하세요.
자동완성기능 구현중에
StringList에 선언된 함수 이름을 하나씩 수동으로 넣는 방식으로 코딩중인데
보다 편한 방법이 없을까 해서 질문 드려봅니다.
예를들어 public이라는 접근자에 선언되어 있는 함수의 이름들을 한번에 불러오는 함수 같은 것이 있을까요?
답변 주시면 감사하겠습니다.
slot으로 정의하면, moc으로 생성되는 파일에 메소드가 문자열로 기록됩니다. 다만, 특정한 규칙에 따라 파싱을 해야합니다. 파서를 만들지 않는 이상에야 한번에 불러오는 방법은 없을 것 같네요.
없습니다.
method가 signal이나 slot으로 선언되어 있으면 metaObject 객체를 이용해서 그 리스트를 얻어 올 수 있습니다. 아래는 그 샘플 코드입니다(Qt4에서 작동).
QStringList methodList(QObject* object, QMetaMethod::MethodType methodType) { QStringList res; int _count = object->metaObject()->methodCount(); for (int i = 0; i < _count; i++) { QMetaMethod _method = object->metaObject()->method(i); if (_method.methodType() == methodType) { QString methodName = _method.signature(); res.push_back(methodName); } } return res; } QStringList signalList(QObject *object) { return methodList(object, QMetaMethod::Signal); } QStringList slotList(QObject *object) { return methodList(object, QMetaMethod::Slot); }
www.gilgil.net
많은 도움 되었습니다 ㅜㅜ
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
slot으로 정의하면, moc으로 생성되는 파일에
slot으로 정의하면, moc으로 생성되는 파일에 메소드가 문자열로 기록됩니다.
다만, 특정한 규칙에 따라 파싱을 해야합니다.
파서를 만들지 않는 이상에야 한번에 불러오는 방법은 없을 것 같네요.
없습니다.
없습니다.
gilgil.net
method가 signal이나 slot으로 선언되어 있으면 metaObject 객체를 이용해서 그 리스트를 얻어 올 수 있습니다.
아래는 그 샘플 코드입니다(Qt4에서 작동).
www.gilgil.net
답변 정말 감사드립니다
많은 도움 되었습니다 ㅜㅜ
댓글 달기