Qt应用开发(基础篇)——工具按钮类 QToolButton

这篇具有很好参考价值的文章主要介绍了Qt应用开发(基础篇)——工具按钮类 QToolButton。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

       QToolButton类继承于QAbstractButton,该部件为命令或选项提供了一个快速访问按钮,通常用于QToolBar中。

        按钮基类 QAbstractButton

Qt应用开发(基础篇)——工具按钮类 QToolButton,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

        QToolButton是一个特殊的按钮,一般显示文本,只显示图标,结合toolBar使用。它提供对特定命令或选项的快速访问,与普通的命令按钮相反,工具按钮通常不显示文本标签,而是显示一个图标。

        QToolButton工具按钮通常是QToolBar在使用addAction()创建新的QAction实例时创建的。也可以以与任何其他小部件相同的方式构造工具按钮,并将它们与布局中的其他小部件一起排列。

QAction *act1 = new QAction("上");
QAction *act2 = new QAction("左");
QAction *act3 = new QAction("下");
QAction *act4 = new QAction("右");

QToolButton *btn1 = new QToolButton;
btn1->setArrowType(Qt::UpArrow);
QToolButton *btn2 = new QToolButton;
btn2->setArrowType(Qt::LeftArrow);
QToolButton *btn3 = new QToolButton;
btn3->setArrowType(Qt::DownArrow);
QToolButton *btn4 = new QToolButton;
btn4->setArrowType(Qt::RightArrow);

QToolBar *bar = new QToolBar(this);
bar->setFixedWidth(500);
bar->setFixedHeight(50);
bar->addAction(act1);
bar->addAction(act2);
bar->addAction(act3);
bar->addAction(act4);  
bar->addAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation),"");  
bar->addAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning),""); 
bar->addAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical),"");
bar->addAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion),"");
bar->addWidget(btn1);
bar->addWidget(btn2);
bar->addWidget(btn3);
bar->addWidget(btn4);

Qt应用开发(基础篇)——工具按钮类 QToolButton,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

        QToolButton可以设置icon图标,当按钮的功能不可用时使用禁用的像素图,当按钮自动抬起时,由于鼠标指针悬停在活动像素图上,显示活动像素图。也可以使用arrowType显示箭头图标,参考上文示例。

Qt应用开发(基础篇)——工具按钮类 QToolButton,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

 二:QToolButton 类

1、arrowType

        该属性用于是否是箭头图标,参考上文示例。

Qt::ArrowType arrowType() const         
void setArrowType(Qt::ArrowType type)  

Qt应用开发(基础篇)——工具按钮类 QToolButton,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

2、autoRaise

        该属性用于是否自动升高模式。在自动升高模式下,按钮在鼠标指向它时绘制3D帧。当在QToolBar中使用按钮时,该功能会自动打开,也就是说不要在QToolBar使用该按钮之前调用setAutoRaise,否则会被重置回去

bool autoRaise() const            
void setAutoRaise(bool enable)    

        在示例中添加设置toolbutton1的autoRaise为false。

btn1->setAutoRaise(false);

Qt应用开发(基础篇)——工具按钮类 QToolButton,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

3、popupMode

        该属性表示按钮与弹出菜单的交互方式,默认为QToolButton::DelayedPopup。

QToolButton::ToolButtonPopupMode popupMode() const          
void setPopupMode(QToolButton::ToolButtonPopupMode mode)    
QToolButton::ToolButtonPopupMode 描述
QToolButton::DelayedPopup 在按住工具按钮一段时间后显示菜单
QToolButton::MenuButtonPopup 工具按钮显示一个特殊的箭头,以指示存在菜单。当按下按钮的箭头部分时,将显示菜单。
QToolButton::InstantPopup 按下工具按钮,菜单立即显示。在这种模式下,按钮本身的动作不会被触发

Qt应用开发(基础篇)——工具按钮类 QToolButton,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

4、toolButtonStyle

        该属性用于确定图标和文本的显示策略,默认为Qt::ToolButtonIconOnly。

Qt::ToolButtonStyle toolButtonStyle() const       
void setToolButtonStyle(Qt::ToolButtonStyle style)
Qt::ToolButtonStyle 描述
Qt::ToolButtonIconOnly 只显示图标
Qt::ToolButtonTextOnly 只显示文本
Qt::ToolButtonTextBesideIcon 文本在图标旁边
Qt::ToolButtonTextUnderIcon 文本在图标下面
Qt::ToolButtonFollowStyle 跟随系统

5、公共方法

1)menu

        返回按钮绑定的菜单。

QMenu *menu() const
 2)setMenu

        设置按钮绑定的菜单,菜单弹出策略由popupMode决定。

void setMenu(QMenu *menu)
3)defaultAction

        返回默认的动作Action。

QAction *defaultAction() const
 4)setDefaultAction

        设置一个默认的action,这个动作可能定义了按钮的属性,比如文本、图标、工具提示等。

void setDefaultAction(QAction *action)

6、公共槽函数

  1)showMenu

        显示菜单。如果没有设置菜单,使用这个函数不会有任何反应。在菜单关闭之前,这个函数不会返回。

void showMenu()

7、信号

1)triggered

        这个信号在给定的Action被触发时发出,参考上面的例子,我们定义了很多的Action。

        该操作还可以与用户界面的其他部分相关联,例如菜单项和键盘快捷键。以这种方式共享操作有助于使用户界面更加一致,并且通常可以减少实现的工作量。文章来源地址https://www.toymoban.com/news/detail-699318.html

void triggered(QAction *action)

到了这里,关于Qt应用开发(基础篇)——工具按钮类 QToolButton的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt应用开发(基础篇)——字体选择器 QFontDialog

             QFontDialog 类继承于QDialog,是一个设计用来选择字体的对话框部件。         对话框窗口QDialog           QFontDialog 字体选择对话框,设计用来让用户选择某一种字体,一般用于文本编辑窗口、标签显示和一些需要文本输入的场景。你可以直接使用静态函数

    2024年02月10日
    浏览(48)
  • Qt应用开发(基础篇)——文本编辑窗口 QTextEdit

             QTextEdit 类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,用来显示富文本和纯文本的窗口部件。 框架类 QFrame https://blog.csdn.net/u014491932/article/details/132188655 滚屏区域基类 QAbstractScrollArea https://blog.csdn.net/u014491932/article/details/132245486          QTextEdit 是一个先

    2024年02月11日
    浏览(46)
  • Qt应用开发(基础篇)——颜色选择器 QColorDialog

             QColorDialog 类继承于QDialog,是一个设计用来选择颜色的对话框部件。         对话框窗口 QDialog          QColorDialog 颜色选择器一般用来让用户选择颜色,比如画图工具中选择画笔的颜色、刷子的颜色等。你可以使用静态函数 QColorDialog::getColor() 直接显示对

    2024年02月10日
    浏览(36)
  • Qt应用开发(基础篇)——输入对话框 QInputDialog

             QInputDialog 类继承于 QDialog ,是一个简单方便的对话框,用于从用户获取单个值。         对话框窗口 QDialog           QInputDialog输入对话框 带有一个文本标签、一个输入框和标准按钮。输入内容可以字符、数字和选项,文本标签用来告诉用户应该要输入什

    2024年02月10日
    浏览(47)
  • Qt应用开发(基础篇)——对话框窗口 QDialog

            QDialog 类继承于QWidget,是Qt基于对话框窗口(消息窗口 QMessageBox 、颜色选择窗口 QColorDialog 、文件选择窗口 QFileDialog 等)的基类。           QDialog 窗口是顶级的窗口,一般情况下,用来当做用户短期任务(确认、输入、选择)或者和用户交流(提示、错误、警告、进

    2024年02月10日
    浏览(56)
  • Qt应用开发(基础篇)——LCD数值类 QLCDNumber

            QLCDNumber类继承于QFrame,QFrame继承于QWidget,是Qt的一个基础小部件。         框架类QFrame介绍         QLCDNumber用来显示一个带有类似lcd数字的数字,适用于 信号灯 、 跑步机 、 体温计 、 时钟 、 电表 、 水表 、 血压计 等仪器类产品的数值显示。      

    2024年02月13日
    浏览(38)
  • Qt应用开发(基础篇)——纯文本编辑窗口 QPlainTextEdit

             QPlainTextEdit 类继承于 QAbstractScrollArea , QAbstractScrollArea 继承于 QFrame ,是Qt用来显示和编辑纯文本的窗口。 滚屏区域基类 https://blog.csdn.net/u014491932/article/details/132245486?spm=1001.2014.3001.5501 框架类QFrame https://blog.csdn.net/u014491932/article/details/132188655?spm=1001.2014.3001.5501   

    2024年02月11日
    浏览(45)
  • Qt应用开发(基础篇)——文件选择对话框 QFileDialog

             QFileDialog 类继承于 QDialog ,提供了一个允许用户选择文件或目录的对话框。         对话框窗口 QDialog          QFileDialog 文件选择对话框允许用户在当前文件系统中选择一个或者多个文件或者文件路径,使用静态函数创建是很简便的方式,比如:      

    2024年02月09日
    浏览(51)
  • Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow

             QMdiArea 类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示MDI窗口的部件。        滚屏区域基类 QAbstractScrollArea https://blog.csdn.net/u014491932/article/details/132245486        框架类 QFrame https://blog.csdn.net/u014491932/article/details/132188655           QMdiA

    2024年02月12日
    浏览(44)
  • 鸿蒙应用开发学习|基础环境和开发工具

    第一章 HarmonyOS是什么 第二章 基础环境和开发工具 HUAWEI DevEco Studio是基于IntelliJ IDEA Community开源版本打造,面向全场景多设备,提供一站式的应用/服务集成开发环境(IDE),支持分布式多端开发、分布式多端调测、多端模拟仿真,提供全方位的质量与安全保障。 高效智能代码

    2024年01月22日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包