mar*_*ari 4 c++ qt qtreewidgetitem
我想给我添加一个复选框qtreewigetitem,我试过这个代码setflag,然后我添加项目是可选择的,也许这将解决我的问题但没有发生任何事情,你能帮我,我怎么能添加check box到我的项目?先感谢您
m_eventList->addTopLevelItem(new QTreeWidgetItem);
QTreeWidgetItem *item = m_eventList->topLevelItem(m_eventList->topLevelItemCount()-1)
item->setFlags(item->flags() | Qt::ItemIsUserCheckable |Qt::ItemIsSelectable);
Run Code Online (Sandbox Code Playgroud)
默认情况下,在QTreeWidgetItem中已经设置了ItemIsUserCheckable标志,因此这不是问题.
你所需要做的就是做
item->setCheckState(Qt::Unchecked);
Run Code Online (Sandbox Code Playgroud)
你应该看到一个复选框.
尝试重新组织您的代码:
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setFlags(item->flags() | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable);
item->setCheckState(Qt::Checked);
m_eventList->addTopLevelItem(item);
Run Code Online (Sandbox Code Playgroud)
另一种方法是编写自己的模型并覆盖flags()方法.在此方法中,您将返回
Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
if (index.column() == 0)
{
flags |= Qt::ItemIsUserCheckable;
}
return flags;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7959 次 |
| 最近记录: |