我正在尝试创建一个具有现代外观用户界面的桌面应用程序,我的意思是专门用功能区菜单替换传统的菜单栏和工具栏,例如 MS Office 套件中的一个。我在使用 QToolBar(带有 QActions)堆叠到 QTabWidget 方面取得了一些进展,但问题是,它只有在我将其设置为 CentralWidget 时才能正确显示。后来,当我想实现表格(QTableWidget)时,它除了表格之外什么都没有显示......丝带制作方法: def tab_menu(self): self.tabWidget = QTabWidget() self.tabWidget.setFixedHeight(120) self.setCentralWidget(self.tabWidget) self.tab1 = QFrame() layout = QGridLayout() addFile = QAction('Add entry', self) addFile.setIcon(icon1) removeFile = QAction('Remove entry', self) removeFile.setIcon(icon2) addFolder = QAction('New category', self) addFolder.setIcon(icon3) removeFolder = QAction('Remove category', self) removeFolder.setIcon(icon4) editFile = QAction('Change entry', self) editFile.setIcon(icon5) toolBar = QToolBar() toolBar.addAction(addFile) toolBar.addAction(removeFile) toolBar.addAction(editFile) toolBar.addSeparator() toolBar.addAction(addFolder) toolBar.addAction(removeFolder) icon_width = 60 toolBar.setIconSize(QSize(icon_width, icon_width)) layout.setAlignment(Qt.AlignLeft) layout.addWidget(toolBar, 0, 0) self.tab1.setLayout(layout) self.tabWidget.addTab(self.tab1, 'Edit') self.tabWidget.show()我想知道如何“锚定” QTabWidget 放置,工具栏/菜单栏应该在哪里。我在https://doc.qt.io/qt-5/qmainwindow.html看到了布局,但我不确定如何使用它。
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
这是一个老问题,但很遗憾没有得到答案。
如果您想要 a 的固定位置RibbonBar
,您可以简单地将其插入QWidget
容器中,使用划分您的表单QVBoxLayout
并将其填充QWidget
到第一个(即顶部)部分。
然而,如果您真的想使用QDockWidgetArea
s,那么您必须使用 aQDockWidget
作为父容器并将其放入 中TopDockWidgetArea
,这将只是一个默认位置,用户可以移动它。也许也有一种方法可以使用Qt.TopToolBarArea
,但我还没有尝试过。
但我想知道,是否可以自由使用 Ribbonbar 的想法。我看到一些关于专利阻止开发人员使用它的讨论。
添加回答
举报
0/150
提交
取消