QTreeView
の内容を自動的にサイズ変更しようとしています。これは私の設定です:QWidget
とQt.Tool | Qt.FramelessWindowHint
のWindowFlags
という「スマートな」ツールチップを作成しようとしています。これはうまく動作します。いくつかのボタン(サイズは一定)と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)
:
は、私はまた、以下の、ブルートフォース方法を試してみました。毎回(正確には2回目ですが、それが偶然かどうか分かりません)、このコードを使用すると、ビューは正しくサイズ変更されます(つまり、すべてのコンテンツが収まるので、スクロールバー)、スクロールバーが消えず、最後の行の下にある空のスペースにスクロールすることができます。