2017-09-26 34 views
2

QWidgetを追加せずにセルの中央にセルのウィジェットQTableWidgetを配置する方法はありますか?そのチェックボックスにレイアウトを追加しますか?テーブルにQCheckBoxを追加するQTableWidget、centering cellWidgets

答えて

1

使用setCellWidget

QWidget *checkBoxWidget = new QWidget(); //create QWidget 
QCheckBox *checkBox = new QCheckBox(); //create QCheckBox 
QHBoxLayout *layoutCheckBox = new QHBoxLayout(checkBoxWidget); //create QHBoxLayout 
layoutCheckBox->addWidget(checkBox);  //add QCheckBox to layout 
layoutCheckBox->setAlignment(Qt::AlignCenter); //set Alignment layout 
layoutCheckBox->setContentsMargins(0,0,0,0); 

ui->tableWidget->setCellWidget(0,0, checkBoxWidget); 

screenshot

また内容にサイズを変更するには、これらの行を使用します。

ui->tableWidget->resizeRowsToContents(); 
ui->tableWidget->resizeColumnsToContents(); 

setCellWidget:指定されたウィジェットはに設定します指定された行のセル に表示され、c olumn、テーブルの にウィジェットの所有権を渡す。

参考:https://evileg.com/en/post/79/