网站前端用什么语言,自己做购物网站,河南国基建设集团--官方网站,一键安装微信1、概述
QToolButton是Qt框架中的一个控件#xff0c;它继承自QAbstractButton。QToolButton通常用于工具栏#xff08;QToolBar#xff09;中#xff0c;提供了一种快速访问命令或选项的方式。与普通的QPushButton按钮相比#xff0c;QToolButton通常只显示一个图标而不…1、概述
QToolButton是Qt框架中的一个控件它继承自QAbstractButton。QToolButton通常用于工具栏QToolBar中提供了一种快速访问命令或选项的方式。与普通的QPushButton按钮相比QToolButton通常只显示一个图标而不显示文本标签尽管也可以显示文本并且通常没有边框在鼠标悬停和按下时的视觉反馈较轻。QToolButton的主要用途是在工具栏中提供辅助操作而不是用于触发主要命令。 2、重要方法
QToolButton提供了多种方法来配置其外观和行为以下是一些常用的方法
setMenu(QMenu *menu)设置按钮的弹出菜单。setPopupMode(ToolButtonPopupMode mode)设置弹出菜单的显示模式包括延迟弹出DelayedPopup、点击箭头立即弹出MenuButtonPopup和点击按钮立即弹出InstantPopup。setToolButtonStyle(Qt::ToolButtonStyle style)设置按钮的样式包括仅显示图标ToolButtonIconOnly、仅显示文本ToolButtonTextOnly、文本在图标右侧ToolButtonTextBesideIcon和文本在图标下方ToolButtonTextUnderIcon。setArrowType(Qt::ArrowType type)设置按钮是否显示一个箭头而不是一个正常的图标。setIcon(const QIcon icon)设置按钮的图标。setText(const QString text)设置按钮的文本。setAutoRaise(bool enable)设置是否在鼠标指向按钮时自动凸起。 3、重要信号
QToolButton也提供了多种信号来响应用户交互以下是一些常用的信号
clicked(bool checked false)当按钮被点击时触发参数checked表示按钮的选中状态。triggered(QAction *action)当有菜单项被触发时发送可以使用action参数来获取触发的菜单项。 4、常用枚举类型
QToolButton中定义了一些枚举类型来配置其行为和外观以下是一些常用的枚举类型
ToolButtonPopupMode定义了工具按钮的弹出菜单模式包括DelayedPopup延迟弹出、MenuButtonPopup点击箭头图标后立即弹出和InstantPopup点击按钮后立即弹出。ToolButtonStyle定义了工具按钮的样式包括ToolButtonIconOnly仅显示图标、ToolButtonTextOnly仅显示文本、ToolButtonTextBesideIcon文本在图标右侧和ToolButtonTextUnderIcon文本在图标下方。ArrowType定义了按钮是否显示一个箭头而不是一个正常的图标包括NoArrow不显示箭头和其他箭头类型。
#include QApplication
#include QMainWindow
#include QToolButton
#include QMenu
#include QVBoxLayout
#include QDebugclass MainWindow : public QMainWindow {Q_OBJECT
public:MainWindow(QWidget *parent nullptr) : QMainWindow(parent) {setupUI();}private:void setupUI() {// 创建中心部件和布局QWidget *centralWidget new QWidget(this);QVBoxLayout *layout new QVBoxLayout(centralWidget);setCentralWidget(centralWidget);// 创建基本工具按钮QToolButton *basicBtn new QToolButton();basicBtn-setText(基本按钮);basicBtn-setIcon(QIcon(:/icons/basic.png));basicBtn-setToolButtonStyle(Qt::ToolButtonTextUnderIcon);connect(basicBtn, QToolButton::clicked, this, MainWindow::onBasicButtonClicked);layout-addWidget(basicBtn);// 创建带菜单的工具按钮QToolButton *menuBtn new QToolButton();menuBtn-setText(菜单按钮);menuBtn-setIcon(QIcon(:/icons/menu.png));menuBtn-setToolButtonStyle(Qt::ToolButtonTextBesideIcon);QMenu *menu new QMenu(this);menu-addAction(选项1, this, MainWindow::onMenuOption1);menu-addAction(选项2, this, MainWindow::onMenuOption2);menu-addSeparator();menu-addAction(退出, this, MainWindow::close);menuBtn-setMenu(menu);menuBtn-setPopupMode(QToolButton::MenuButtonPopup);layout-addWidget(menuBtn);// 创建自动浮起的工具按钮QToolButton *autoRaiseBtn new QToolButton();autoRaiseBtn-setText(自动浮起按钮);autoRaiseBtn-setIcon(QIcon(:/icons/raise.png));autoRaiseBtn-setAutoRaise(true);autoRaiseBtn-setToolButtonStyle(Qt::ToolButtonTextUnderIcon);connect(autoRaiseBtn, QToolButton::clicked, this, MainWindow::onAutoRaiseButtonClicked);layout-addWidget(autoRaiseBtn);// 设置窗口属性setWindowTitle(QToolButton Demo);resize(300, 200);}private slots:void onBasicButtonClicked() {qDebug() 基本按钮被点击;}void onMenuOption1() {qDebug() 选项1被选择;}void onMenuOption2() {qDebug() 选项2被选择;}void onAutoRaiseButtonClicked() {qDebug() 自动浮起按钮被点击;}
};int main(int argc, char *argv[]) {QApplication app(argc, argv);MainWindow window;window.show();return app.exec();
}
觉得有帮助的话打赏一下呗。。 需要商务合作定制程序的欢迎私信