4

にチェックボックスを追加したいのですが、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);
4

3 に答える 3

6

コードを再編成してみてください。

QTreeWidgetItem* item = new QTreeWidgetItem();
item->setFlags(item->flags() | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable);
item->setCheckState(Qt::Checked);
m_eventList->addTopLevelItem(item);

もう 1 つの方法は、独自のモデルを作成し、 flags()メソッドを上書きすることです。このメソッドでは、戻ります

Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
if (index.column() == 0)
{
    flags |= Qt::ItemIsUserCheckable;
}
return flags;
于 2014-04-16T10:39:04.813 に答える
1

Qt::ItemIsUserCheckableQTreeWidgetQt::ItemIsSelectableのデフォルト設定です。

item->setCheckState(column, Qt::Unchecked)大丈夫だ。

https://doc.qt.io/qt-5/qtreewidgetitem.html#flags

于 2020-06-02T20:41:12.273 に答える