0

QTableWidgetアイテム内のテキストの代わりにチェックボックスを使用する必要があります。チェックボックスはアイテムの中央にある必要があります。

チェックボックスがチェックされている間に私が試した例。チェックボックスのチェックを外すと消えます。

4

1 に答える 1

4

このコードを使用して、チェックボックスを中央に配置するように設定できます。

   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);
于 2014-09-28T09:57:29.833 に答える