2014-09-06 2 views
1

Qt 위젯에 태그 할 수 있습니까? QPushButtons 프로그래밍 방식으로 생성하고 내가 아는 한 그들을 구별 할 수있는 방법이 없습니다. 설명서를 확인했는데 아무 것도 찾을 수 없었습니다. 대안은 무엇입니까?Qt 위젯에 태그 달기

for(int i = 0; i < 6; i++) { 
     QPushButton *s = new QPushButton("Select"); 
     ... 
    } 
+0

제발 편집하십시오. 나는 나의 대답을 조금 개선했다, 아마도 당신은 그것을 유용하다고 생각할지도 모른다. – Chernobyl

+0

고마워. 그게 정확히 내가 한 것입니다. –

답변

3

가장 좋은 방법은이 버튼에 객체 이름을 설정하는 것입니다. 예를 들어.

for(int i = 0; i < 6; i++) { 
    QPushButton *s = new QPushButton("Select"); 
    s->setObjectName("But" + QString::number(i)); 
} 

은 또한 당신은

편집 버튼 setProperty()property() 방법으로 미래를 읽기 :

또한 당신은 고유하지 ObjectName를 설정할 수 있습니다. 일부 버튼에 배경색을 설정한다고 가정하십시오. 그런 다음이 버튼에 스타일 시트를 직접 적용하지 마십시오. 이 objectName을이 버튼으로 설정하기 만하면됩니다.

for(int i = 0; i < 6; i++) { 
    QPushButton *s = new QPushButton("Select"); 
    if(i%2 == 0) 
     s->setObjectName("red"); 
} 

그리고 다음 스타일 시트를

#red 
{ 
    background-color: red 
} 

을 적용하고이 버튼은 붉은 색으로 색칠됩니다.

+1

자세한 내용은 다음을 참조하십시오. http://qt-project.org/doc/qt-5/qobject.html#objectName-prop – Eric

관련 문제