2014-09-28 3 views
0

QTableWidget에 항목의 텍스트 대신 체크 박스를 사용해야합니다. 확인란이 항목의 가운데에 있어야합니다.체크 박스가있는 QTableWidget

체크 박스가 선택된 상태에서 작업을 시도한 예제. 체크 박스를 선택 취소하면 사라집니다.

+1

여기에 최소한 체크 박스가 사라지는 예제의 소스 코드를 게시 할 수 있습니까? 실제 앱에서 +1 –

답변

3
당신은 체크 박스를 설정할 수 있습니다

이 코드를 중심으로 될 :

QWidget *pWidget = new QWidget(); 
    QCheckBox *pCheckBox = new QCheckBox(); 
    QHBoxLayout *pLayout = new QHBoxLayout(pWidget); 
    pLayout->addWidget(pCheckBox); 
    pLayout->setAlignment(Qt::AlignCenter); 
    pLayout->setContentsMargins(0,0,0,0); 
    pWidget->setLayout(pLayout); 
    pMyTableWidget->setCellWidget(0,0,pWidget); 

(내가 여기 당신을 잘 이해하면 나도 몰라) 그리고 당신은 당신이 그것을 취소 할 때 확인란을 사라지게 할 경우, 당신은 슬롯에 확인란의 클릭 신호를 연결해야합니다, 그게 당신의 확인란을 보이지 않게합니다. 다음과 같이 connect 메소드를 사용하십시오 :

connect(checkbox,SIGNAL(clicked()),this,SLOT(checkboxClicked())); 

체크 박스가 선택되었는지 확인하려면 checkboxClicked 슬롯을 생성해야합니다. 그렇지 않다면 보이지 않게 설정해야합니다. 예 :

QCheckBox* Chb = qobject_cast<QCheckBox *>(QObject::sender()); 
    if(!Chb->checked()) 
     Chb->setVisible(false); 
+0

+1 사용자 정의 QAbstractItemModel을 구현하는 데 여전히 필요합니다. –