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

QT学习之路--菜单、工具条、状态栏

   下面一些是 Menu Bar,用于显示菜单;再下面一点事 Toolbar areas,用于显示工具条,Status Bar,就是状态栏。

  Qt 提供了一个 QStatusBar 类来实现状态栏。

 

Qt 里面也有一个类似的类,叫做 QAction

QAction 能够根据添加的位置来改变自己的样子 ——如果添加到菜单中,就会显示成一个菜单项;如果添加到工具条,就会显示成一个按钮。

 Qt提供的颜色选择对话框:QColorDialog。

QColor color = QColorDialog::getColor(Qt::white,this);
    QString msg = QString("r: %1,g: %2,b: %3").arg(QString::number(color.red()),QString::number(color.green()),QString::number(color.blue()));
    QMessageBox::information(NULL,"Selected color",msg);

  QString("r: %1, g: %2, b: %3")创建了一个 QString 对象。我们使用了参数化字符串,也就是那些%1 之类。

其实这都是一些占位符,也就是,后面会用别的字符串替换掉这些值。占位符的替换需要使用 QString 的 arg()函数。

这个函数会返回它的调用者,因此可以使用链式调用写法。它会按照顺序替换掉占位符。

QString::number()函数,作用就是把 int、double 等值换成 QString 类型。这里是把 QColor 的 R、G、B 三个值输出了出来。

 

QMessageBox

QMessageBox::information(NULL,"Title","Content",QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);

 现在我们从 API 中看看它的函数签名:
static StandardButton QMessageBox::information(QWidget *parent,const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton );

第一个参数 parent,说明它的父组件;第二个参数 title,也就是对话框的标题;第三个参数 text,是对话框显示的内容;第四个参数 buttons,声明对话框放置的按钮,默认是只放置一个OK 按钮,这个参数可以使用或运算,例如我们希望有一个 Yes 和一个 No 的按钮,可以使用QMessageBox::Yes | QMessageBox::No,所有的按钮类型可以在 QMessageBox 声明的 StandarButton枚举中找到;第五个参数 defaultButton 就是默认选中的按钮,默认值是NoButton,也就是哪个按钮都不选中。

QInputDialog 用于接收用户的输入。

static QString QInputDialog::getText(QWidget ×parent,const QString & title,const QString & label,QLineEdit::EchoMode mode = QLineEdit::Normal,const QString & text = QString(),bool *ok = 0,Qt::WindowFlags flags = 0 )

 

转载于:https://www.cnblogs.com/Caden-liu8888/p/5958158.html

相关文章:

  • 序列化-理解readResolve()
  • Java thread的Interrupt, isInterrupt, interrupted
  • Java字符串
  • Java集合的Stack、Queue、Map的遍历
  • Java正则表达式应用总结
  • javascript的基础知识整理
  • 运行Java应用必须通过main()方法吗?
  • struts2标签库详解
  • Servlet技术总结
  • 深入研究servlet的线程安全问题
  • win10下 Edge和IE浏览器都不能上网,而其他浏览器可以。怎么办?
  • Servlet过滤器机制分析及应用
  • MySQL: Table 'mysql.plugin' doesn't exist的解决
  • Servlet常用过滤器
  • Unity3D静态AI自动寻路
  • 网络传输文件的问题
  • [译] React v16.8: 含有Hooks的版本
  • 【刷算法】求1+2+3+...+n
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • bootstrap创建登录注册页面
  • CentOS6 编译安装 redis-3.2.3
  •  D - 粉碎叛乱F - 其他起义
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript创建对象的四种方式
  • MySQL QA
  • Python打包系统简单入门
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 你不可错过的前端面试题(一)
  • 配置 PM2 实现代码自动发布
  • 前端面试总结(at, md)
  • 人脸识别最新开发经验demo
  • 我感觉这是史上最牛的防sql注入方法类
  • 异步
  • 在Mac OS X上安装 Ruby运行环境
  • 最简单的无缝轮播
  • 做一名精致的JavaScripter 01:JavaScript简介
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • raise 与 raise ... from 的区别
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #pragam once 和 #ifndef 预编译头
  • #Z0458. 树的中心2
  • $L^p$ 调和函数恒为零
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (过滤器)Filter和(监听器)listener
  • (七)Java对象在Hibernate持久化层的状态
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (五)网络优化与超参数选择--九五小庞
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (译)计算距离、方位和更多经纬度之间的点