我试图为Qt的复选框设置一些样式。我已经知道QtTableWidget有QCheckbox。但问题是我不知道如何为QtTableWidget的复选框设置样式。
QTableWidgetItem *checkBoxItem = new QTableWidgetItem();
checkBoxItem->setCheckState(Qt::Unchecked);
table->setItem(row, column, checkBoxItem);
当我为checkBox使用setStyleSheet时:
checkBoxItem->setStyleSheet("...");
我有一个错误:
' class QTableWidgetItem'没有名为' setStyleSheet' 的成员
已编辑:我想用checkBox进行一些操作。这是第一个QTableWidgetItem的完整代码:
for (int i = 0; i < 4; ++i)
m_tableWidget->setRowHeight(i, 3 * em);
QTableWidgetItem *item1 = new QTableWidgetItem(tr("Show Message Preview"));
if (CGlobalZone::m_showMsgPreview)
item1->setCheckState(Qt::Checked);
else
item1->setCheckState(Qt::Unchecked);
item1->setFlags(Qt::ItemIsEnabled);
m_tableWidget->setItem(0, 0, item1);
答案 0 :(得分:2)
您可以使用QAbstractItemView :: indicator {...}设置指标的样式(例如QTableView :: indicator:checked,QTableView :: indicator:unchecked等)。
您无法直接将样式应用于QTableItemWidget,但您可以在QTableWidget本身或其父项上添加样式表。
答案 1 :(得分:0)
假设您已经拥有一个至少包含一列且至少有一行的表格小部件:
QCheckBox *cb = new QCheckBox(tr("Check me"));
cb->setStyleSheet("background-color: rgb(0, 85, 0);");
tableWidget->setCellWidget(0, 0, cb);