2

Here is my code I Want to remove arrow icon and I want to see only search icon to expand a node. Is there any way to do this?

if __name__ == '__main__':
    # create a empty my_app application
    my_app = ''
    # test this my_app to create instance
    if QApplication.instance() != None:
        my_app = QApplication.instance()
    else:
        my_app = QApplication(sys.argv)
    # create a QTreeWidgetItem with tree columns
    my_tree= QTreeWidgetItem(["Column A"])
    # add date using a for loop 
    for i in range(6):
        list_item_row = QTreeWidgetItem(["Child A-" + str(i)])
        list_item_row.addChild(QTreeWidgetItem(['item1']))
        my_tree.addChild(list_item_row)
    # create my_widget widget
    my_widget = QWidget()
    my_widget.resize(640, 180)
    # create a QTreeWidget named my_tree_widget 
    my_tree_widget = QTreeWidget(my_widget)
    my_tree_widget.setWindowIcon(QIcon('icons/search.png'))
    my_tree.setIcon(0,QIcon('icons/search.png'))
    # my_tree.setText(0,"testtes")
    my_tree_widget.addTopLevelItem(my_tree)

    # show the widget
    my_widget.show()
    # the exit of my_app
    sys.exit(my_app.exec_())
dauren slambekov
  • 378
  • 3
  • 15

1 Answers1

3

Please try it.

I'm glad it is what you want.

Occasionally, you may need to set absolute path for image.

if __name__ == '__main__':
    # create a empty my_app application
    my_app = ''
    # test this my_app to create instance
    if QApplication.instance() != None:
        my_app = QApplication.instance()
    else:
        my_app = QApplication(sys.argv)
    # create a QTreeWidgetItem with tree columns
    my_tree= QTreeWidgetItem(["Column A"])
    # add date using a for loop 
    for i in range(6):
        list_item_row = QTreeWidgetItem(["Child A-" + str(i)])
        list_item_row.addChild(QTreeWidgetItem(['item1']))
        my_tree.addChild(list_item_row)
    # create my_widget widget
    my_widget = QWidget()
    my_widget.resize(640, 180)
    # create a QTreeWidget named my_tree_widget 
    my_tree_widget = QTreeWidget(my_widget)
    my_tree_widget.setStyleSheet("""QTreeView::branch:open:has-children:!has-siblings{image:url(icons/search.png)}
                                  QTreeView::branch:closed:has-children:!has-siblings{image:url(icons/search.png)}
                                  QTreeView::branch:open:has-children{image:url(icons/search.png)}
                                  QTreeView::branch:closed:has-children{image:url(icons/search.png)}
                                  QTreeView::branch:open:{image:url(icons/search.png)}
                                  QTreeView::branch:closed:{image:url(icons/search.png)}
                                  ;""")

    my_tree_widget.setWindowIcon(QIcon('icons/search.png'))
#    my_tree.setIcon(0,QIcon('icons/search.png'))
    # my_tree.setText(0,"testtes")
    my_tree_widget.addTopLevelItem(my_tree)

    # show the widget
    my_widget.show()
    # the exit of my_app
    sys.exit(my_app.exec_())
Haru
  • 1,884
  • 2
  • 12
  • 30
  • Oh amazing. I am very very pleasant for this answer.Would u bot my question?and are u a beginner of programmer? your skill very amazing... – dauren slambekov Jun 19 '20 at 13:36
  • No, I only know it by chance.See you next time. – Haru Jun 19 '20 at 13:42
  • I don't know whether I'm a begginer or not, I'm making progress day a day.Thanks your compliments. I'm very glad.bye. I'm not a professional. Yes, what is called an Amateur. – Haru Jun 19 '20 at 13:56
  • Amateur seems not to have a good meaning according to dictionary. I'm an enthusiast. – Haru Jun 19 '20 at 14:03