QT系统学习系列:1.2 ToolBar(工具栏)
文章目录
- ToolBar 基础
- ToolBar介绍
- movable 属性
- allowedAreas 属性
- orientation 属性
- iconSize 属性
- toolButtonStyle 属性
- floatble 属性
- ToolBar 进阶
- 为ToolBar添加控件
- 美化ToolBar
ToolBar 基础
ToolBar介绍
头文件:#include
qmake:QT +=widgets
继承于:QWidget
工具栏,相信大家也不陌生,这篇给大家讲一下如何使用工具栏,以及前面讲过的ToolButton如何配合。
movable 属性
该属性属性用来确认toolBar是否可以移动,大家注意上面的图,工具栏最左面有一个许多小点点的东西,如果大家把这个属性取消打勾,这几个点点就不存在了,当然,你的工具栏也无法移出来。
该属性默认true。
ui界面设置:
代码可通过isMovable()和setMovable(),访问和设置该属性。
allowedAreas 属性
该属性指定工具栏允许移动的范围,默认值是AllToolBarAreas(四个方向都可以,分别是窗口左边,右边,菜单下,底部状态栏之上)。
其余五个值分别是窗口左边,右边,菜单下,底部状态栏之上,以及NoToolBarArea(没有设定工具栏区域,意味着你可以把它任意地方)。
ui界面设置:
代码可通过allowedAreas() 和setAllowedAreas,访问和设置该变量。
orientation 属性
该属性为工具栏的方向,默认值为Qt :: Horizontal。
注意:当工具栏由QMainWindow管理时,不应使用此功能。如果希望将已经添加到主窗口中的工具栏移动到另一个Qt :: ToolBarArea,则可以使用QMainWindow :: addToolBar()或QMainWindow :: insertToolBar()。
ui界面设置:
代码可通过orientation()和setOrientation(),访问和设置该属性。
iconSize 属性
该属性设置图标栏,大小,前面章节已经讲过,不在赘述。
toolButtonStyle 属性
该属性指定按钮显示模式,默认为ToolButtonIconOnly(仅显示图标)。
其他四个值分别为:
ToolButtonTextOnly(只显示文字)
ToolButtonTextBesideIcon(文字在图标旁)
ToolButtonTextUnderIcon(文字在图标下)
ToolButtonFollowStyle(根据QStyle::StyleHint格式显示,我们没有设置StyleHint,所以和默认一样)
ui界面设置:
代码可通过toolButtonStyle()和setToolButtonStyle(),访问和设置该属性。
此属性定义所有作为QAction添加的工具按钮的样式。请注意,如果使用addWidget()方法添加QToolButton,它将不会获得此按钮样式。
要使工具按钮的样式遵循系统设置,请将此属性设置为Qt :: ToolButtonFollowStyle。
floatble 属性
该属性保存是否可以将工具栏作为独立窗口进行拖放,默认是true。
当设置为false,虽然鼠标可以拖动工具栏,但无法独立出来。
ui界面设置:
代码可通过isFloatable()和setFloatable(),访问和设置该属性。
ToolBar 进阶
为ToolBar添加控件
首先创建一个主窗口ui,默认带有一个TooBar(工具栏),在ui界面拖动四个ToolButton按钮,并为四个按钮添加图标。
现在我们添加代码,让这四个按钮出现在工具栏上面。
//ui->toolBar 是我们的工具栏ui->toolBar->addWidget(ui->toolButton);ui->toolBar->addWidget(ui->toolButton_2);ui->toolBar->addWidget(ui->toolButton_3);ui->toolBar->addWidget(ui->toolButton_4);
运行
关于ToolButton如何添加菜单,可以参考QT系统学习系列:1.3 ToolButton(工具按钮)
除了使用addWidget()添加小部件之外,还可以使用addSeparator()添加分隔符,又或是使用addAction()添加一个动作。
美化ToolBar
暂无
QT系统学习系列:1.2 ToolBar(工具栏)相关推荐
- QT系统学习系列:1.2 PushButton(常规按钮)
文章目录 一.PushButton 基础 PushButton介绍 给PushButton添加快捷键 PushButton构造函数 PushButton添加/更改(图标,文本,父类) PushButt ...
- Java I/O系统学习系列二:输入和输出
编程语言的I/O类库中常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象."流"屏蔽了实际的I/O设备中处理数据的细节. 在这个系列的第一篇 ...
- Java I/O系统学习系列一:File和RandomAccessFile
I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事.因为不仅存在各种I/O源端和想要与之通信的接收端(文件.控制台.网络链接等),而且还需要支持多种不同方式的通信(顺 ...
- Java I/O系统学习系列三:I/O流的典型使用方式
尽管可以通过不同的方式组合IO流类,但我们可能也就只用到其中的几种组合.下面的例子可以作为典型的IO用法的基本参考.在这些示例中,异常处理都被简化为将异常传递给控制台,但是这只有在小型示例和工具中才适 ...
- linux系统日志_Linux系统学习系列——Linux系统日志管 理(下 )
Linux日志轮替(日志转储)及logrotate配置文件分析 日志是重要的系统文件,记录和保存了系统中所有的重要事件.但是日志文件也需要进行定期的维护,因为日志文件是不断增长的,如果完全不进行日志维 ...
- 鸿蒙系统学习系列 | 上手HarmonyOS十大必看指南!
华为的鸿蒙系统优点是流畅度和大一统.这套系统主要是基于微内核的全场景分布式OS,可以按照需要进行扩展,由此来实现更为广泛的系统的安全,它主要用于物联网,它的主要特点是很低的时延. HarmonyOS是 ...
- QT 系统学习 day06 ,摄像头,语音识别(语音转文字,文字转语音,Qt 的人脸识别系统),
1.调用摄像头,拍照,存储照片 1.摄像头文件 /******* 摄像头相关类 *****/ #include <QCamera> /*** 摄像头类 ***/ #include < ...
- QT 系统学习 day05 事件 HTTP网络请求, 音乐播放器,上位机串口通行
1.HTTP 网络 1.头文件 : 网络 /***** HTTP 网络相关模块 *****/ #include <QNetworkAccessManager> /** 网络访问类 **/ ...
- OPENWRT系统学习系列之一(系统源码到编译固件和烧录固件)
本人小白一枚,前几天开始接触OPENWRT,在此之前就看过网上的有关(OPENWRT)OP的文章,关于OP的发展历程,可以查阅相关的资料.个人感觉OP是个十分强大的东西,有很多好玩的东西,奈何人生苦短 ...
最新文章
- Tomcat通过Redis实现session共享的完整部署记录
- CALayer 了解与使用
- 函数 —— strchr() 例如:字符串中的 192.168.1.2|00:11:22:33:44:55 取出字符串中的ip与mac值
- mysql 没有mysql库_MySQL安装之后没有MySQL数据库的原因
- Linux学习-仅执行一次的工作排程
- 聊一下CPU占用高的解决方案
- 微信重大更新,mac版可刷朋友圈!可以看,可以评论! 支持M1
- python爬虫 去哪网数据分析
- 华为考虑对外出售5G芯片 但对象只包括苹果公司
- android内容协调,理清Android协调布局CoordinatorLayout的摆放位置及特殊属性。
- 杭电1597 find the nth digit
- 把算术表达式 表示为一个c语言表达式,正确的写法是____,C与C++程序设计-中国大学mooc-题库零氪...
- Security+ 学习笔记54 安全政策
- 华为鸿蒙 os 适配机型曝光,华为鸿蒙OS 2.0首批适配机型曝光
- php掷骰子小游戏代码,C语言实现掷骰子游戏代码及解析
- java号码归属地接口,免费API-手机号码归属地接口
- ros中的launch文件注释
- 那些你可能不知道的视频下载奇技淫巧
- SolidWorks DocumentManager LicenseKey
- CAPM模型和Alpha策略
热门文章
- k8s入门:存储(storage)
- 真正实现网络下载,文件不落地.解决XmlHttp对象、winnet.dll、URLDownloadToFile生成的ie缓存(Hook_CreateFileW阻止缓存生成)
- 怎么生成a类型的对象 java_用一个 java 程序! 写一个类A, 该类创建的对象可以调用方法f输出英文字母表,然后再编写...
- Fail to allocate bitmap
- LTE CA下的频点计算
- OMG!程序猿小哥是如何做到基金收益率高达26.03%?
- Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
- Auto.js学习笔记2:真机连接vscode开发工具进行调试,自动开启微信app,自动切换通讯录和微信界面
- 怎么取消微信送票服务器,智行火车票如何关闭微信自动扣费服务 微信怎么关闭智行火车票自动扣费授权...
- 拼多多校招的三道笔试题