2010-09-02 161 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