Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QMenuBar类提供了一个水平菜单栏。More...
继承QWidget。
该QMenuBar类提供了一个水平菜单栏。
菜单栏包含下拉菜单项列表中。您添加菜单项addMenu( ) 。例如, asuming那menubar是一个指针,指向一个QMenuBar和fileMenu是一个指针,指向QMenu,下面的语句插入菜单进入菜单栏:
menubar->addMenu(fileMenu);
在菜单项文本的符号设置Alt + F键作为此菜单中的快捷方式。 (您可以使用“\u0026\u0026”获得在菜单栏中一个真正的符号。 )
有没有必要制定出一个菜单栏。它会自动将其自身的几何形状的父控件的顶部,并适当地改变它,每当父调整大小。
在大多数的主窗口风格的应用程序,你会使用menuBar()在所提供的功能QMainWindow,加入QMenus到菜单栏和添加QActions到弹出式菜单。
例子(从Menus为例):
fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(newAct);
菜单项可以与被删除removeAction( ) 。
窗口小部件可以使用的情况下被添加到菜单QWidgetAction类来保存它们。这些动作可以被插入到在通常的方式菜单,见QMenu文档了解更多信息。
不同的平台上有菜单栏的外观和行为的不同要求,当用户与其互动。举例来说, Windows系统通常配置,使得带下划线的字符助记符,表明在菜单栏项目的快捷键只显示当Alt键被按下。
Plastique widget style. | The Plastique widget style, like most other styles, handles the Help menu in the same way as it handles any other menu. |
Motif widget style. | The Motif widget style treats Help menus in a special way, placing them at right-hand end of the menu bar. |
QMenuBar在Mac OS X是一个包装使用系统范围的菜单栏。如果您有多个菜单栏在一个对话框中的最外层的菜单栏(通常里面一个小部件与部件标志Qt.Window)将用于全系统的菜单栏。
Qt的用于Mac OS X还提供了一个菜单栏合并功能,使QMenuBar更符合公认的Mac OS X的菜单栏布局。该合并功能是基于字符串匹配的标题QMenu条目。这些字符串翻译(使用QObject.tr())中的“ QMenuBar ”的上下文。如果项目被移动及其插槽仍然会火,就好像它是在原来的地方。下表概述了字符串寻找和那里的条目,如果匹配放置:
String matches | Placement | Notes |
---|---|---|
about.* | Application Menu | About <application name> | The application name is fetched from the Info.plist file (see note below). If this entry is not found no About item will appear in the Application Menu. |
config, options, setup, settings or preferences | Application Menu | Preferences | If this entry is not found the Settings item will be disabled |
quit or exit | Application Menu | Quit <application name> | If this entry is not found a default Quit item will be created to call QApplication.quit() |
您可以通过使用复盖此行为QAction.menuRole()属性。
如果你想在一台Mac应用程序的所有窗口共享一个菜单栏,你必须创建一个没有父项的菜单栏。创建一个父少菜单栏是这样的:
QMenuBar *menuBar = new QMenuBar(0);
Note: Do not通话QMainWindow.menuBar()来创建共享菜单栏,因为该菜单栏将有QMainWindow作为其母公司。该菜单栏只会显示父QMainWindow。
Note:从设置的值获得用于在菜单栏的应用程序名称的文本Info.plist文件中的应用程序的包。看Deploying an Application on Mac OS X了解更多信息。
QMenuBar在Windows CE是一个包装使用系统范围的菜单栏,类似于苹果。此功能被激活Windows Mobile和集成QMenuBar与本地软键。左软键可以被控制QMenuBar.setDefaultAction()和右软键,可用于访问菜单栏。
该hovered( )信号不支持本机菜单集成。此外,它是不可能在Windows Mobile上的本机菜单显示一个图标。
该Menus示例显示了如何使用QMenuBar和QMenu。其他main window application examples还提供了使用这些类的菜单。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个父菜单栏parent。
返回QAction在pt。返回0,如果有一个在无动作pt或者,如果位置有一个隔板。
See also addAction()和addSeparator( ) 。
从重新实现QWidget.actionEvent( ) 。
返回行动的几何形状act作为QRect。
See also actionAt( ) 。
返回QAction这是当前突出显示。如果不采取行动是当前选定的空指针将被返回。
See also setActiveAction( ) 。
这是一个重载函数。
用这种便利函数创建一个新动作text。该函数将新创建的行动,行动的菜单的列表中,并返回它。
See also QWidget.addAction()和QWidget.actions( ) 。
这是一个重载函数。
用给定的这个便利函数创建一个新动作text。动作的triggered()信号被连接到receiver的member插槽。该函数将新创建的行动,行动的菜单的列表并返回它。
See also QWidget.addAction()和QWidget.actions( ) 。
这是一个重载函数。
追加行动action于诉讼的菜单栏的列表。
See also QMenu.addAction( )QWidget.addAction()和QWidget.actions( ) 。
追加可menu菜单栏。返回菜单的menuAction ( ) 。
Note:返回QAction对象可以用来隐藏相应的菜单。
See also QWidget.addAction()和QMenu.menuAction( ) 。
添加一个新的QMenu同title菜单栏。菜单栏取菜单的所有权。返回新菜单。
See also QWidget.addAction()和QMenu.menuAction( ) 。
添加一个新的QMenu同icon和title菜单栏。菜单栏取菜单的所有权。返回新菜单。
See also QWidget.addAction()和QMenu.menuAction( ) 。
附加一个分隔符的菜单。
从重新实现QWidget.changeEvent( ) 。
删除菜单栏的所有动作。
Note:在Mac OS X中,已合并到系统菜单栏的菜单项由该函数不会被删除。处理这一个方法是删除多馀的动作自己。您可以设置menu role在不同的菜单,让你提前知道哪个菜单项都被合并,哪些没有。然后决定如何重新创建或删除自己。
See also removeAction( ) 。
返回该插件上的第一个或最后一个菜单项的右边的左边,这取决于corner。
Note:使用一个角落里比其他Qt.TopRightCorner or Qt.TopLeftCorner将导致警告。
See also setCornerWidget( ) 。
从重新实现QObject.event( ) 。
从重新实现QObject.eventFilter( ) 。
从重新实现QWidget.focusInEvent( ) 。
从重新实现QWidget.focusOutEvent( ) 。
从重新实现QWidget.heightForWidth( ) 。
初始化option从菜单栏和信息的价值action。当他们需要一个这种方法是有用的子类QStyleOptionMenuItem,但不希望在所有的信息填写自己。
See also QStyleOption.initFrom()和QMenu.initStyleOption( ) 。
这个方便的功能插件menu行动之前,before并返回菜单menuAction ( ) 。
See also QWidget.insertAction()和addMenu( ) 。
这个便利函数创建一个新的分隔作用,即一个行动QAction.isSeparator( )返回True 。该函数插入新创建的行动变成行动之前的行动为此菜单栏的列表before并返回它。
See also QWidget.insertAction()和addSeparator( ) 。
从重新实现QWidget.keyPressEvent( ) 。
从重新实现QWidget.leaveEvent( ) 。
从重新实现QWidget.minimumSizeHint( ) 。
从重新实现QWidget.mouseMoveEvent( ) 。
从重新实现QWidget.mousePressEvent( ) 。
从重新实现QWidget.mouseReleaseEvent( ) 。
从重新实现QWidget.paintEvent( ) 。
从重新实现QWidget.resizeEvent( ) 。
设置当前突出显示的动作act。
这个函数是Qt 4.1中引入。
See also activeAction( ) 。
该widget说法有它的所有权转移给Qt的。
这台给定的widget直接显示在第一菜单项的左侧,或在最后的菜单项的右侧,这取决于corner。
在菜单栏佔用的所有权widget,重定父级成的菜单栏。然而,如果corner已经包含了一个小工具,这个以前的部件将不再进行管理,并仍将是菜单栏的可见子。
Note:使用一个角落里比其他Qt.TopRightCorner or Qt.TopLeftCorner将导致警告。
See also cornerWidget( ) 。
从重新实现QWidget.setVisible( ) 。
从重新实现QWidget.sizeHint( ) 。
从重新实现QObject.timerEvent( ) 。
这是该信号的默认超载。
当一个菜单操作高亮显示这个信号被发射;action是导致事件要发送的动作。
通常这是用来更新状态信息。
See also triggered()和QAction.hovered( ) 。
这是该信号的默认超载。
当属于该菜单栏的菜单中选择操作被触发的鼠标点击一个结果,这个信号被发射;action是导致该信号被发射的操作。
Note: QMenuBar必须有所有权QMenu为了这个信号来工作。
通常情况下,你使用每个菜单操作连接到一个单一的插槽QAction.triggered( ) ,但有时你会想几个项目连接到一个单一的插槽(通常,如果用户从一个数组中选择) 。这个信号是在这样的情况下是有用的。
See also hovered()和QAction.triggered( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |