当前位置: 首页 > news >正文

工具按钮 QToolButton

工具按钮常常用来显示图标,然后添加到工具栏中

常用属性和方法

文本

设置和获取文本

//设置和获取文本
QString text() const
void setText(const QString &text)

图片

设置和获取图片

//设置和获取图片
QIcon icon() const
void setIcon(const QIcon &icon)

 获取和设置图片尺寸

//设置和获取图片尺寸
QSize iconSize() const
void setIconSize(const QSize &size)

按钮风格

设置和获取工具按钮的风格

Qt::ToolButtonStyle toolButtonStyle() const
void setToolButtonStyle(Qt::ToolButtonStyle style)

style有4种取值:

  • Qt::ToolButtonIconOnly,只显示图片,
  • Qt::ToolButtonTextOnly,只显示文本,
  • Qt::ToolButtonTextBesideIcon,文本在图片的右侧,
  • Qt::ToolButtonTextUnderIcon,文本在图片的下面,
  • Qt::ToolButtonFollowStyle,跟随系统样式

箭头类型

可以设置箭头,注意:设置箭头后,设置的图标也就不会再显示了,被箭头代替

//获取和设置箭头的类型
Qt::ArrowType arrowType() const
void setArrowType(Qt::ArrowType type)

type有4种取值:

  • Qt::NoArrow,没有箭头
  • Qt::UpArrow,上箭头,
  • Qt::DownArrow,下箭头,
  • Qt::LeftArrow,左箭头,
  • Qt::RightArrow,右箭头,

自动凸出

就是鼠标悬浮时,有一个凸出的效果(该方法还会使得按钮的边框消失

//设置和获取自动凸出
bool autoRaise() const
void setAutoRaise(bool enable)

获取和设置按钮关联的菜单(按钮都有的方法)

//获取和设置按钮关联的菜单
QMenu *QToolButton::menu() const
void QToolButton::setMenu(QMenu *menu)

 菜单弹出模式

//获取和设置菜单的弹出模式
QToolButton::ToolButtonPopupMode popupMode() const
void setPopupMode(QToolButton::ToolButtonPopupMode mode)

 mode有三个取值

  • QToolButton::DelayedPopup ,长按按钮一小会儿后才会弹出菜单,(注意右下角多了1个小三角)

  • QToolButton::MenuButtonPopup,会出现1个小三角,点击小三角立即弹出菜单

  • QToolButton::InstantPopup,点击按钮立即弹出

 举例

使用ToolButton来填充工具栏

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QToolButton>
#include<QMenu>
#include<QToolBar>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr)  : QWidget(parent){resize(500,500);QMenu* menu=new QMenu(this);QAction* a1=new QAction("1号",this);QAction* a2=new QAction("2号",this);QAction* a3=new QAction("3号",this);menu->addAction(a1);menu->addAction(a2);menu->addAction(a3);QToolBar* tool_bar=new QToolBar(this);//1号按钮QToolButton* tool_btn1=new QToolButton(this);tool_btn1->setIcon(QIcon(":/11.png"));tool_btn1->setIconSize(QSize(30,30));//只显示图标tool_btn1->setToolButtonStyle(Qt::ToolButtonStyle::ToolButtonIconOnly);tool_btn1->setAutoRaise(true);//设置悬浮提示tool_btn1->setToolTip("相册");tool_bar->addWidget(tool_btn1);//2号按钮QToolButton* tool_btn2=new QToolButton(this);tool_btn2->setIcon(QIcon(":/22.png"));tool_btn2->setIconSize(QSize(30,30));//只显示图标tool_btn2->setToolButtonStyle(Qt::ToolButtonStyle::ToolButtonIconOnly);tool_btn2->setAutoRaise(true);//设置悬浮提示tool_btn2->setToolTip("消息");tool_btn2->setMenu(menu);//按小箭头立即弹出菜单tool_btn2->setPopupMode(QToolButton::MenuButtonPopup);tool_bar->addWidget(tool_btn2);//3号按钮QToolButton* tool_btn3=new QToolButton(this);tool_btn3->setIcon(QIcon(":/33.png"));tool_btn3->setIconSize(QSize(30,30));//只显示图标tool_btn3->setToolButtonStyle(Qt::ToolButtonStyle::ToolButtonIconOnly);tool_btn3->setAutoRaise(true);//设置悬浮提示tool_btn3->setToolTip("摄影");tool_btn3->setMenu(menu);//按小箭头立即弹出菜单tool_btn3->setPopupMode(QToolButton::MenuButtonPopup);tool_bar->addWidget(tool_btn3);}~Widget()=default;
};
#endif // WIDGET_H

 学习链接:https://github.com/0voice


http://www.mrgr.cn/news/40720.html

相关文章:

  • 02.usePrevious
  • pnpm在monorepo架构下不能引用其他模块的问题
  • 第八篇——数列和级数(一):当下很重要,但趋势更重要
  • 【Linux】dd命令
  • 通信工程学习:什么是POP3邮局协议版本3
  • OLED显示屏中常见的3-spi和4-spi
  • 简单的微信小程序个人 个人详情页
  • local minima 的问题如何解决
  • MySQL优化相关(持续积累...)
  • Javascript-标准内置对象-值属性-globalThis-Infinity-Nan-undefined 手写实现globalThis功能
  • 笔墨歌盛世 丹青绘匠心,艺术赋能“百千万工程”
  • 【优选算法之哈希表】No.11--- 经典哈希表算法
  • [Python学习日记-34] 一篇文章让你弄懂 Python 中牛逼的递归函数
  • [Python学习日记-35] Python 中的内置函数(上)
  • 【Linux】进程+权限管理+软硬链接+其他命令
  • 合并两个有序数组(c语言)
  • CF1965D Missing Subarray Sum
  • E36.C语言模拟试卷1第一大题选题解析与提示(未完)
  • 《NoSQL》非关系型数据库MongoDB 学习笔记!
  • 多机搭建(使用企业级褡裢工具)