raton
raton

Reputation: 428

pyqt Treewidget header click is not working

pyqt Treewidget header is not emitting signal.

import sys
from PyQt4 import QtGui, QtCore


class mainwin(QtGui.QWidget):
     def __init__(self, parent = None):
          QtGui.QWidget.__init__(self, parent)
          self.list = QtGui.QTreeWidget()
          self.list.setHeaderLabels(["Raton", "name", "address"])


          self.head = QtGui.QHeaderView(QtCore.Qt.Horizontal)
          self.head.setClickable(True)

          self.list.setHeader(self.head)
          self.head.sectionClicked.connect(self.test)

    def test(self):
         print("ok")

when i clicked on header nothing happens. but.

          self.list.header().setClickable(True)
          self.list.header().sectionClicked.connect(self.test)

its working. Why ? whats wrong in my above code?(QtGui.QHeaderView())

Upvotes: 2

Views: 811

Answers (1)

falsetru
falsetru

Reputation: 368954

setClickable should called after setHeader.

     self.list.setHeader(self.head)
     self.head.setClickable(True)

self.list.setHeader(..) make self.head unclickable.

UPDATE

setClickable is obsolete. Use setSectionsClickable instead.

Upvotes: 3

Related Questions