QObject에 개체 이름을 추가해야하는 이유는 무엇입니까? 이름을 설정하지 않고도 개체를로드하고 실행할 수 있습니다.왜 QObject :: setObjectName()을 사용합니까?
답변
글쎄, 나중에 QObject에 액세스하는 방법에 따라 다릅니다. QObject에 액세스하는 데 사용할 수있는 여러 QObject.find() 함수가 있습니다. 이름은 검색을 필터링하는 "키"를 추가합니다.
예를 들어, 자신의 클래스에서는 검색 대신에 인스턴스 변수를 사용하지만 일반적으로 소유하지 않은 것을 실제로 전달할 수 있지만 원하는 특정 버튼이 있다는 것을 알고 있습니다 편집 (예 : Qt에 내장 된 QInputDialog 중 하나의 QPushButton). 버튼 이름을 지정하면 버튼 텍스트를 확인하거나 계층 구조에있는 위치를 세는 것이 훨씬 더 깨지기 쉽지만 버튼을 찾으면 쉽게 찾을 수 있습니다 (버튼이 사라지면 강력합니다, 레이아웃에서 움직이는 것 등) (예 : button 텍스트는 버전 간 또는 현지화로 인해 변경 될 수 있습니다. 누군가 새로운 레이아웃과 추가 버튼을 추가합니다.
또는 포인터 값을 인쇄 할 때 (즉, 어떤 QObject가 문제를 일으키는 지 알고 싶을 때) 좋은 디버그 텍스트가 필요할 수도 있습니다. 또한 스크립팅을 더 쉽게 만들지 만 여기서는 이유를 설명하지 않겠습니다.
이것은 실제로 빙산의 일각에 불과합니다. 당신은 정말로 당신이 그것을 필요로하고 오직 그 대답을 알고 있다면 이름을 설정할 필요가 있습니다. :-)
그것은 개체가 스크립트 인 경우에 의미가, 그리고 "버튼"개체 이름 몇 가지 이유 중 하나가있다
에게 인이
//button is the object name, which needs to be define in qml for the component.e.g. objectName: "button"
QObject *buttonQML = view.rootObject()->findChild<QObject*>("button");
로 findChild 사용할 수 있습니다 내가 객체 이름을 사용하는 큰 이유는 in the Qt qdebug guide으로 설명 된 바와 같이 디버그 목적을위한 것입니다.
Qt 스타일 시트에서 객체의 이름을 ID Selector으로 사용할 수 있습니다.
예 : 당신이 속성은 하나의 특정 QLineEdit에 적용 할 경우, 당신은 QObject를 :: setObjectName를 (사용하는 이름을 지정) 및이를 참조하는 ID 선택기를 사용할 수 있습니다
myDialog->setStyleSheet("QLineEdit#nameEdit { background-color: yellow }");
- 1. QObject 복제
- 2. QObject 검색
- 3. 왜 멤버 변수를 사용합니까?
- 4. 왜 mongoDB가 objectID를 사용합니까?
- 5. 왜 가상 함수를 사용합니까?
- 6. 왜 Heroku는 Postgresql을 사용합니까?
- 7. 왜 Mocking Framework를 사용합니까?
- 8. 왜 Dispatcher.BeginInvoke를 사용합니까?
- 9. 왜 is_safe를 사용합니까?
- 10. 왜 ServletContext.setAttribute()를 사용합니까?
- 11. 왜 FindControl ...을 사용합니까?
- 12. 왜 mysqli_close()를 사용합니까?
- 13. 왜 Automappers ValueResolver를 사용합니까?
- 14. 왜 MEMCACHED_BEHAVIOR_NOREPLY를 사용합니까?
- 15. 왜 scala.collection.immutable.Stack을 사용합니까?
- 16. 왜 LINQ 표현식을 사용합니까?
- 17. 왜 Orchard에서 ContentPart를 사용합니까?
- 18. 왜 IEditableCollectionView를 사용합니까?
- 19. 왜 JCL UNITVERSIONING을 사용합니까?
- 20. 사람들이 왜 textmate를 사용합니까?
- 21. 왜 템플릿 전문화를 사용합니까?
- 22. 왜 jQuery 필터를 사용합니까?
- 23. Android : 왜 XMLReader를 사용합니까?
- 24. 왜 로컬 변수를 사용합니까?
- 25. 왜 CakePHP의 JsHelper를 사용합니까?
- 26. QObject 하위 정렬
- 27. QThread에서 QObject :: deleteLater
- 28. qml의 QObject 속성 편집
- 29. QObject 이중 삭제
- 30. QObject 상속 애매한베이스