2

pyqt Treewidget 标头未发出信号。

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")

当我点击标题时没有任何反应。但。

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

它的工作。为什么 ?我上面的代码有什么问题?(QtGui.QHeaderView())

4

1 回答 1

3

setClickable应该在之后调用setHeader

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

self.list.setHeader(..)使self.head不可点击。

更新

setClickable已过时。改为使用setSectionsClickable

于 2013-06-22T04:50:01.447 回答