Python PyQT5 - Windows 按钮移动到其他区域
Posted
技术标签:
【中文标题】Python PyQT5 - Windows 按钮移动到其他区域【英文标题】:Python PytQT5 - Windows Buttons move to other area 【发布时间】:2018-08-10 10:45:40 【问题描述】:我正在寻求帮助,我正在使用 PyQT5 及其包含的网络引擎开发一个网络浏览器,但是,我遇到了一个问题,我似乎没有找到解决方法。基本上,我正在尝试将 Windows 按钮 - 最小化、更改窗口大小和关闭按钮移动到工具栏区域,就像 Google Chrome 一样。说明:
右侧的 Windows 按钮 - 在 Windows 框架上
现在,我移除了窗框,这 3 个按钮消失了(应该如此):
无窗框
现在基本上这就是我想要的,没有框架,但窗口按钮会移动到 Tab/TabBar 或 ToolBar。就像谷歌浏览器一样:
谷歌浏览器示例
我用这段代码禁用了窗口框架:
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】:我自己找到了答案,这有点不是我想要的东西,但它会做。
我禁用了带有标志的框架 - 然后禁用了我之前发布的 3 个标志。然后我在工具栏上创建了 3 个新按钮,并将它们的图标更改为 windows 按钮,最后一步是添加回这 3 个按钮的功能,我用 2 个功能完成了。
已解决。
【讨论】:
以上是关于Python PyQT5 - Windows 按钮移动到其他区域的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PyQt5 GUI python 中单击按钮时绘制方形图