【发布时间】:2023-03-18 09:12:01
【问题描述】:
我正在尝试创建一个可以像在 Excel 中一样放大和缩小的 QTableView。
在这里提出了类似的问题:Zooming function on a QWidget
但是,我在 PyQt 而不是 C 中继承 QTableView,因此重新实现整个 PaintEvent 方法有点进化。源代码有点复杂:https://qt.gitorious.org/qt/tiittane-qt/source/bdd4a9149789f60974603e1f7621d51378f0a108:src/gui/itemviews/qtableview.cpp#L1282
我正在寻找是否有任何其他可行的选项来拥有可缩放的 TableView。我的第一次尝试是设置字体大小,然后意识到每列和行的宽度也必须缩放,这可能会变慢。然后意识到改变字体会改变打印。这似乎不是一个优雅的解决方案。在绘画之前更改画家的比例似乎是更优雅的解决方案,但必须重新实现并将相当多的代码转换为 python 才能这样做。我想知道是否还有其他钩子可以完成这项工作。
谢谢
【问题讨论】:
-
你最后有没有成功?你能分享你确定的技术吗?谢谢!
-
最后,任务的优先级显着降低,不再处理它。在某个时候,我会重新审视这个,但不知道什么时候。使用图形场景有一些复杂性和奇怪的行为,所以我不确定它是否会比最终重新实现绘制方法更容易
-
我几天前问过这个问题,我猜我的搜索技能很糟糕...stackoverflow.com/questions/30601123/zooming-a-view-in-pyqt。我想我最终可能只是从字面上改变字体大小,然后根据内容调整大小,这很糟糕,但是哦……
标签: qt pyqt qtableview