python - pyqt Qtreewidget 标题单击不起作用

标签 python qt pyqt pyqt4

pyqt Treewidget header 未发出信号。

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

最佳答案

setClickable 应在 setHeader 之后调用。

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

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

更新

setClickable 已过时。请改用 setSectionsClickable

关于python - pyqt Qtreewidget 标题单击不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17247300/

相关文章:

python - youtube视频嵌入pyqt

c++ - 打印 QTextDocument 时自定义页码

python - 快速简便 : trayicon with python?

python - BubbleSort python 两个方向交换

python - 不同类型的 TensorFlow SignatureDef 的目的是什么?

python - pandas 中两个列表的行差异

python - GDAL Python 创建轮廓线

c++ - 减小 Qt GUI 应用程序的大小

python - 类型错误 : QApplication(List[str]): not enough arguments

python - 单击 PyQt 表项时更改属性