QColumnView将滚动到空列

时间:2015-10-27 14:08:25

标签: qt python-2.7 pyqt4

我使用与QColumnView结合的QStandardItemModel来显示简单的分层树结构列表。我的视图有2列,第二列上的行是第一列上项目的子项。当用户选择第1列上的项目/行时,该项目/行的子项将显示在第二列上。现在来了QColumnView令人讨厌的行为:虽然我的列表只有2列,但每当用户点击第二列的项目时,它会自动进一步滚动到右边的第三列(这是空的)。

from PyQt4 import QtCore, QtGui
import sys

if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
categories = {"Develop": ["py", "rb", "h", "html", "css"],
                   "Image": ["jpg", "jpeg", "bmp", "gif", "png"],
                   "Movies": ["avi", "mkv", "mov", "mp4"],
                   "Documents": ["doc", "docx", "xls", "xlsx", "ppt", "pptx"],
                   "Music": ["mp3", "wav"]}
model = QtGui.QStandardItemModel()
for cat, types in categories.items():
    catItem = QtGui.QStandardItem(cat)
    catItem.setCheckable(True)
    for type in types:
        typeItem = QtGui.QStandardItem(type)
        typeItem.setCheckable(True)
        #typeItem.setSelectable(False)
        catItem.appendRow(typeItem)
    model.appendRow(catItem)
columnView = QtGui.QColumnView()
columnView.setModel(model)

columnView.show()
sys.exit(app.exec_())

0 个答案:

没有答案