rai*_*ner 5 resize pyqt qtreeview qscrollarea
我正在尝试QTreeView自动调整其内容的大小.这是我的设置:我想创建一个"智能"工具提示这是一个QWidget有Qt.Tool | Qt.FramelessWindowHint作为WindowFlags,这很好地工作.它包含一些布局,其中包含一些按钮(大小不变)和QTreeView.现在,无论何时将线条添加到QTreeView模型中,QTreeView都应自动增加其大小以避免垂直滚动条.
设置QSizePolicy.Expanding工具提示小部件和QTreeView没有改变任何东西 - 也许我在这里缺少一些额外的标志或东西.
我也试过以下,蛮力方法:
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)
Run Code Online (Sandbox Code Playgroud)
大部分时间都有效,但并非总是如此.每隔一段时间(每隔一段时间,确切地说,但我不知道这是否是巧合),使用此代码,视图正确调整大小(即所有内容都适合,并且不需要滚动条),但滚动条不会消失,允许滚动到最后一行下方的空白区域.
小智 1
您可能需要参考此项目的工作原理: http://ftp.ics.uci.edu/pub/centos0/ics-custom-build/BUILD/PyQt-x11-gpl-4.7.2/examples/layouts/flowlayout。 py
可能会给您一些关于您需要什么的提示。它是一个布局,您可以将其放入滚动窗口中,当主窗口调整大小时,它将重新排序内部的所有小部件以适应
| 归档时间: |
|
| 查看次数: |
1704 次 |
| 最近记录: |