我需要使用QTableWidget
复选框而不是项目中的文本。复选框必须位于项目的中心。
我在复选框被选中时尝试工作的示例。如果我取消选中复选框,它就会消失。
我需要使用QTableWidget
复选框而不是项目中的文本。复选框必须位于项目的中心。
我在复选框被选中时尝试工作的示例。如果我取消选中复选框,它就会消失。
您可以将复选框设置为使用此代码居中:
QWidget *pWidget = new QWidget();
QCheckBox *pCheckBox = new QCheckBox();
QHBoxLayout *pLayout = new QHBoxLayout(pWidget);
pLayout->addWidget(pCheckBox);
pLayout->setAlignment(Qt::AlignCenter);
pLayout->setContentsMargins(0,0,0,0);
pWidget->setLayout(pLayout);
pMyTableWidget->setCellWidget(0,0,pWidget);
(我不知道我在这里是否理解你)如果你想让你的复选框在你取消选中它时消失,你需要将复选框的点击信号连接到一个插槽,这将使你的复选框不可见。使用这样的连接方法:
connect(checkbox,SIGNAL(clicked()),this,SLOT(checkboxClicked()));
您需要创建插槽 checkboxClicked ,您将在其中检查复选框是否被选中。如果没有,那么您必须将其设置为不可见。例子:
QCheckBox* Chb = qobject_cast<QCheckBox *>(QObject::sender());
if(!Chb->checked())
Chb->setVisible(false);