Python PytQT5-Windows按钮移至其他区域

时间:2018-08-10 10:45:40

标签: python python-3.x pyqt pyqt5 qmainwindow

我正在寻求帮助,我正在使用PyQT5及其随附的Web引擎开发Web浏览器,但是,我遇到了一个问题,但似乎没有找到解决方法。基本上,我试图将窗口按钮-最小化,更改窗口大小和关闭按钮移动到Google Chrome浏览器的工具栏区域。说明:

右侧的Windows按钮-Windows框架上的

现在,我移除了窗框,这3个按钮消失了(应该如此):

没有Windows框架

现在基本上就是我想要的,没有框架,但是Windows按钮将移动到Tab / TabBar或ToolBar。像Google chrome一样:

Google Chrome示例

我用以下代码禁用窗口框架:

def __init__(self, parent=None, *args, **kwargs):
    super(MainWindow, self).__init__(parent, Qt.FramelessWindowHint, *args, **kwargs)

但是现在我不知道如何将这三个按钮移动到选项卡栏或工具栏。我发现我可以使用“标志”,特别是这三个:

Qt.WindowMinimizeButtonHint
Qt.WindowCloseButtonHint
Qt.WindowMaximizeButtonHint

现在,我使用以下代码创建Tab小部件:

    self.tabs = QTabWidget()
    self.tabs.setDocumentMode(True)
    self.tabs.tabBarDoubleClicked.connect(self.tab_open_doubleclick)
    self.tabs.currentChanged.connect(self.current_tab_changed)
    self.tabs.setTabsClosable(True)
    self.tabs.tabCloseRequested.connect(self.close_current_tab)

    self.setCentralWidget(self.tabs)

然后,我创建状态栏和导航栏:

    self.status = QStatusBar()
    self.setStatusBar(self.status)

    navigation_bar = QToolBar('Navigation')
    navigation_bar.setIconSize(QSize(24, 24))
    self.addToolBar(navigation_bar)

此后,我向工具栏添加按钮-停止,重新加载,后退和前进等。

1 个答案:

答案 0 :(得分:0)

我自己找到了答案,那不是我要找的东西,但是它确实可以。

我禁用了带有标志的框架-然后禁用了我之前发布的3个标志。然后,我在工具栏上创建了3个新按钮,并将其图标更改为Windows按钮,最后一步是添加这3个按钮的功能,这是我使用2个功能完成的。


已解决。