【发布时间】:2015-06-08 12:10:40
【问题描述】:
我尝试为 Qt 的复选框设置一些样式。我已经知道 QtTableWidget 有 QCheckbox。但问题是我不知道如何为 QtTableWidget 的复选框设置样式。
QTableWidgetItem *checkBoxItem = new QTableWidgetItem();
checkBoxItem->setCheckState(Qt::Unchecked);
table->setItem(row, column, checkBoxItem);
当我使用 setStyleSheet 作为复选框时:
checkBoxItem->setStyleSheet("...");
我有一个错误:
“类 QTableWidgetItem”没有名为“setStyleSheet”的成员
已编辑:我想对复选框进行一些操作。这是第一个 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);
【问题讨论】:
-
你想用复选框做什么?
-
我想检查标志并处理一些操作@vahancho
-
试试
QTableWidget::setCellWidget。 -
是否改变了复选框的样式?如何使用它? QTableWidget::setCellWidget(0,0)>setStyleSheet(..)?
-
QTableWidget的项目不是QWidget的,所以不能直接应用样式。您需要使用QTableView+ 使用自定义复选框编写您自己的委托。
标签: c++ qt checkbox qtablewidget qcheckbox