文章目录
- 1.测试工程配置
- 2. 成员函数
-
- 2.1 void setMenu(QMenu *menu)
- 2.2 void setPopupMode(QToolButton::ToolButtonPopupMode mode)
- 2.3 void setAutoRaise(bool enable)
- 2.4 void setArrowType(Qt::ArrowType type)
- 2.5 QToolButton::ToolButtonPopupMode popupMode() const
- 2.6 QMenu *menu() const
- 2.7 QAction *defaultAction() const
- 2.8 bool autoRaise() const
- 2.9 Qt::ArrowType arrowType() const
- 2.10 Qt::ToolButtonStyle toolButtonStyle() const
- 2.11 槽函数 void setDefaultAction(QAction *action)
- 2.12 槽函数 void setToolButtonStyle(Qt::ToolButtonStyle style)
- 2.13 槽函数 void showMenu()
- 2.14 信号 void triggered(QAction *action)
1.测试工程配置
创建名为QtGuiAppTest的qwidget工程,带ui文件
2. 成员函数
继承自QAbstractButton,QAbstractButton成员函数详见《QAbstractButton成员函数功能和使用详细说明(文字+用例+代码+效果图)》
2.1 void setMenu(QMenu *menu)
(1)功能说明
为按钮添加下拉列表
(2)效果展示
注意:需要按下按钮等待一段时间才能弹出下拉列表,该特性受setPopupMode函数设置的弹出模式的影响,默认为延迟弹出
(3)调用程序
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
QMenu* pMenu = new QMenu();
pMenu->addAction(QString::fromLocal8Bit("文件"));
pMenu->addAction(QString::fromLocal8Bit("打开"));
pMenu->addAction(QString::fromLocal8Bit("项目"));
ui.toolButton->setMenu(pMenu);
}
2.2 void setPopupMode(QToolButton::ToolButtonPopupMode mode)
(1)功能说明
设置菜单弹出模式
常量名 | 常量值 | 描述 |
---|---|---|
QToolButton::DelayedPopup | 0 | 在按下按钮一定时间后,弹出菜单。一个典型的应用案例是浏览器菜单栏的返回按钮,点击后返回上一个网页,长按下,按钮会展示一个历史记录 |
QToolButton::MenuButtonPopup | 1 | 在这种模式下,按钮展示一个特殊的箭头指向菜单弹出的方向。当按钮上箭头部分被按下,弹出菜单 |
QToolButton::InstantPopup | 2 | 在这种模式下,点击按钮弹出菜单,没有延迟。另外,按钮本身的动作不会被触发(例如clicked等信号不会发出) |
(2)效果展示
QToolButton::DelayedPopup
QToolButton::MenuButtonPopup
QToolButton::InstantPopup
(3)调用程序
#include "QtGuiAppTest.h"
#include<qmessagebox.h>
QtGuiAppTest::QtGuiAppTest(QWidget