from PyQt5.QtWidgets import ( QMainWindow, QMenu, QAction, QTabWidget) if __name__ == '__main__': import sys from PyQt5.QtWidgets import QApplication app = QApplication(sys.argv) ##################################################### mainWindow=QMainWindow() menuBar = mainWindow.menuBar() orderMenu = QMenu("订货管理", mainWindow) menuBar.addMenu(orderMenu) order_action = QAction("供应商订货", mainWindow) orderMenu.addAction(order_action) tabWidget=QTabWidget(mainWindow) #QMainWindow.setCentralWidget函数一旦被注释,出现的界面很怪异的 mainWindow.setCentralWidget(tabWidget) mainWindow.show() ##################################################### sys.exit(app.exec_())
QAction的补充:
orderMenu= mainWindow.menuBar() action = QAction("showTxt", parent, enabled=True, checkable=True, shortcut="Ctrl+F", triggered=triggerFun) # 添加分割线 orderMenu.addSeparator() # 添加menu orderMenu.addMenu() # 添加action orderMenu.addAction()
QTabWidget的补充:
# tabWidget上出现关闭的叉号,但是点击标签的关闭叉号并不会关闭对应的标签页 # 而是会触发 void tabCloseRequested(int index) 的Signals # 如果想要在点击关闭的叉号后对应的标签页会关闭,需要执行 tabWidget.removeTab(int index) # tabWidget.tabCloseRequested.connect(tabWidget.removeTab) tabWidget.setTabsClosable(True) tabWidget.tabCloseRequested.connect(tabWidget.removeTab)