2010-09-02 124 views
3

我想有我PyQt的aplication有标签像谷歌浏览器:)PyQt的标签像谷歌浏览器

任何建议或对如何做一个简单的例子,在菜单栏?

我没有找到这些相关链接:
- http://ivan.fomentgroup.org/blog/2009/03/29/instant-chrome/

+0

你想用Qt实现哪些Chrome的特性?我以为你在谈论外观和感觉,但是你的链接正在谈论过程安全。至少在默认安装中,Chrome并没有真正的菜单栏。 – jkerian 2010-09-02 20:15:37

+0

我只想要简单的外观。顶部的标签和侧面的设置按钮。 :) – hugo24 2010-09-03 21:01:42

+2

你可以上传至少上传你想要的外观图片吗?让我知道确切的外观,所以我可以给你一个示例代码。 – 2010-09-22 12:21:21

回答

2

如果我理解正确的话,只需要创建一个QWindow包含QTabBar部件(而不是QMenuBar,或简单地用一个QTabWidget为您主程序窗口小部件

3

你必须使用Qt.FramelessWindowHint来创建你自己的Max,Min,Close按钮,并将它们添加到那里。

在你的情况下,你应该重新分类resizeEvent,以便更改标志。如果窗口最大化,则不需要担心移动它,但是如果没有最大化,则可以删除Qt.FramelessWindowHint标志并返回标题栏;就像Chrome一样。

这是你在找什么?

+0

这是一个很好的起点。但是,如何在TabsWidget旁边制作按钮。喜欢在歌剧中:http://www.shrani.si/f/1u/e9/2GyFHhFv/tabs-in-menu.jpg – hugo24 2010-09-28 15:29:34

+1

我会诚实。这不是最容易完成的任务。我之前没有尝试过,所以我只能告诉你这是如何完成的。请记住,QTabWidget继承QWidget,所以如果你能找到使用了什么QLayout ..你可以添加小部件的布局。您可以在QGridLayout中下拉窗口小部件,然后扩展选项卡的内容,或使用CSS来减少边距和填充。这只是猜测。我会尝试不同的选择,看看你能做什么。首先在名单上将是网格布局。 – 2010-09-28 18:33:14

2

,你需要做到以下几点:

  • 删除窗口边框(FramelessWindowHint)
  • 实现自己的窗口上方移动和缩放代码
  • 插入的TabBar,并添加了对近等按钮它(或创建将包含使用TabBar和按钮帧)

而这一切是在薇比(您提供的链接)来完成:)

+0

嗯,我不认为这是正确的解决方案。创建一个'FramelessWindowHint'将使应用程序在用户最大化时进入全屏。 – swdev 2014-07-02 07:42:37