2013-02-24 2 views
5

QTreeView의 내용을 자동으로 크기를 조정하려고합니다. 이것은 제 설정입니다. 나는 과 같이 QWidget이고 Qt.Tool | Qt.FramelessWindowHint 인 "똑똑한"툴팁을 만들려고 노력하고 있습니다. 멋지게 작동합니다. 몇 가지 버튼 (크기가 일정)과 QTreeView이있는 레이아웃이 포함되어 있습니다. 이제 QTreeView의 모델에 행이 추가 될 때마다 QTreeView은 자동으로 크기를 늘려 수직 스크롤 막대를 방지해야합니다.QTreeView가 자동으로 내용의 크기를 조정합니다.

툴팁 위젯과 QTreeView에 모두 QSizePolicy.Expanding을 설정해도 아무 것도 바뀌지 않았습니다. 여기에 몇 가지 추가 플래그가 없거나 여기에 뭔가가 누락되었을 수 있습니다. 항상 그런 것은 아니지만, 대부분의 시간을 작동

class ToolTip: 
    def __init__(self): 
     ... 
     self.itemView.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel) 
     self.itemView.verticalScrollBar().rangeChanged.connect(self.resizeViewVertically) 

    def resizeViewVertically(self, min, max): 
     self.resize(self.width(), self.height() + max) 

:

은 또한 다음, 무차별 방법을 시도했다. 매번 (매번 두 번째로, 정확하게 말하면, 그것이 우연인지 아닌지는 모르겠다.)이 코드를 사용하면 뷰가 정확하게 크기가 조절된다. (즉, 모든 내용이 적합하다. 스크롤 막대), 스크롤 막대가 사라지지 않아 마지막 줄 아래의 빈 공간으로 스크롤 할 수 있습니다.

답변

관련 문제