Important: Please read the Qt Code of Conduct -

[Solved] Qt - How to select item in tree widget?

  • Hi,

    I was trying to write code that selects an item in a tree if it exists.

    Here is what I have so far:

    @if a != "":
    item = QtGui.QTreeWidgetItem(tree)
    item.setText(0, a)

    but this seems to just add it to the tree & select it. I just want it to select the item if it exists in the tree not re-add it. Help!!


    [Moved: because this forum is right place for python questions /Vass]

  • [quote author="needhelp_gh" date="1337695981"]Hi,
    I just want it to select the item if it exists in the tree not re-add it.

    But that's exactly what you implemented.

    if you want to search for an item, you have to do something like this (this is C++):

    if (a != "")
    QTreeWidget* pTree = ...; // this is your tree widget pointer
    QList<QTreeWidgetItem *> itemList = pTree->findItems(a);
    // ...

    written directly from brain, not tested

  • Yeah, that was the only way I thought could work.

    I'll try searching for the item like you say & then setting it to current item.


    (I'll get back with code if it works out for people who might need it in the future.)

  • Seems to be missing some parameters for:

    @QList<QTreeWidgetItem *> itemList = pTree->findItems(a);@

    I'm not sure about the Qt::MatchFlags parameter..

  • Nvm, got it:
    if a != "":
    list = tree2.findItems(a, QtCore.Qt.MatchExactly, 0)
    for i in list:

    Hope that helps for anyone else!! :)

Log in to reply