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 に答える