我有一个QTreeWidget,在这里插入不同的小部件(QDoubleSpinBox,QSpinBox,QCheckBox.)
QTreeWidget *t = ui->treeWidget;
QTreeWidgetItem *item = new QTreeWidgetItem();
int c = 0;
QDoubleSpinBox *dspb = new QDoubleSpinBox();
t->setItemWidget(item, c++, dspb);
QSpinBox *spb = new QSpinBox();
t->setItemWidget(item, c++, spb);
QCheckBox *cb = new QCheckBox();
t->setItemWidget(item, c++, cb);
t->addTopLevelItem(item);但是,cb小部件看起来是有线的,因为复选框与左对齐。我想看到它在中间对齐。
Q:如何更改复选框以显示在TreeWidget单元格的中间?
稍后我需要能够再次访问cb项。目前,我使用以下代码:
QTreeWidgetItem *itm = t->topLevelItem(0);
bool checked = qobject_cast<QCheckBox *>(t->itemWidget(itm,c++))->checkState() == Qt::Checked;如果我需要做一些解决办法来实现中心对齐,那么如何访问cb对象呢?
发布于 2020-02-26 14:29:14
找到它:
cb->setStyleSheet("margin-left:50%; margin-right:50%;");行得通!
https://stackoverflow.com/questions/60415315
复制相似问题