我试图为Qt的复选框设置某种样式。我已经知道QtTableWidget具有QCheckbox。但是问题是我不知道如何设置QtTableWidget复选框的样式。

QTableWidgetItem *checkBoxItem = new QTableWidgetItem();
checkBoxItem->setCheckState(Qt::Unchecked);
table->setItem(row, column, checkBoxItem);

当我将setStyleSheet用于checkBox时:
checkBoxItem->setStyleSheet("...");

我有一个错误:
“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);

最佳答案

您可以使用QAbstractItemView::indicator {...}设置样式(例如,QTableView::indicator:checked,QTableView::indicator:unchecked等)。

您不能将样式直接应用于QTableItemWidget,但是可以将样式表放在QTableWidget本身或其父项上。

关于c++ - Qt-如何自定义QTableWidget的复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30708831/

10-12 19:16