类似于Google Chrome的PyQt标签页
我想让我的pyqt应用程序在菜单栏里有像谷歌浏览器那样的标签页 :)
有没有什么建议或者简单的例子可以参考一下?
我找到了一些相关链接:
- http://ivan.fomentgroup.org/blog/2009/03/29/instant-chrome/
3 个回答
2
你需要做以下几件事:
- 去掉窗口的边框(使用无边框窗口提示)
- 自己写代码来实现窗口的移动和调整大小
- 在顶部插入一个标签栏,并添加关闭等按钮(或者创建一个框架来包含标签栏和按钮)
这就是在Webbie中所做的全部工作(你提供的链接) :)
2
如果我理解得没错的话,你只需要创建一个 QWindow
,里面放一个 QTabBar
组件(而不是 QMenuBar
),或者直接用 QTabWidget
作为你的主程序组件就可以了。
3
你需要使用 Qt.FramelessWindowHint 这个选项,然后自己创建最大化、最小化和关闭按钮,作为小部件添加进去。我有一个很不错的工具包,适合这类软件使用:http://traipse.assembla.com/spaces/ghostqt
在你的情况下,你应该重新定义 resizeEvent 这个事件,这样你就可以更改窗口的标志。如果窗口被最大化了,你就不用担心移动它了,但如果没有最大化,你可以去掉 Qt.FramelessWindowHint 这个标志,重新显示标题栏;就像 Chrome 浏览器那样。
这就是你想要的吗?