码迷,mamicode.com
首页 > 其他好文 > 详细

QString字符串中出现%1,%2时,输出的形式与setCursor,setAcceptedMouseButtons函数浅析

时间:2021-05-24 14:28:22      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:标识   cli   oba   dom   rgba   rap   accept   方便   tor   

这里的Qstring字符串输出的内容,一开始没有看的懂,在经过补习计算机相关输出知识后,就一下子懂了,其实这个很简单,话不多说,上程序,还是上一个文章的程序。

 

ColorItem::ColorItem()
    : color(QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256))
{
    setToolTip(QString("QColor(%1, %2, %3)\n%4")
              .arg(color.red()).arg(color.green()).arg(color.blue())
              .arg("Click and drag this color onto the robot!"));
    setCursor(Qt::OpenHandCursor);
    setAcceptedMouseButtons(Qt::LeftButton);
}

 

这里的setTooltip函数,是生成一个提示,当我们将鼠标放置悬停在这里生成的coloritem这个由QGraphicsItem图元类派生而来的派生类上时,会产生一个提示,将后面设置的QString字符串进行输出,来产生一个提示。

下面,我们来看一下运行的效果。

 

技术图片

 

当我们将鼠标放置到左下部分一个类似于浅蓝色的coloritem小图元时,产生一个如图所示提示。

下面我们来看一下这个QString字符串的结构,这个字符串中,用了%1等四个这样的符号标识,来进行输出,并且在QString字符串后面,还用上了.arg这个结构,下面,我就来细说一下这部分%1与.arg这个结构所代表的内容。

这两个部件,其实都只为一个功能服务,即用.arg这个结构括号中的内容来代替前方的%1这部分,所以前三个%n这个结构,将上面随机生成的颜色,赋值给这里的三处结构,由于color这个初始化变量,有三个参数(三原色),所以我们需要进行三次调用这个结构,将这三个颜色数字变量添加到前方。第四处的%4这个结构,是将.arg("Click and drag this color onto the robot!")这个括号里面双引号内的内容赋值给%4这个位置,所以也可以将%n这个结构理解为一种占位符,显示内容在后面.arg引用的括号内。

这里需要注意一点,那就是注意后面这个.arg的顺序,前面的%n这里的n就是按后面的.arg出现的顺序来进行判断,这种输出形式一般用于输出结构统一但数据会变化的形式,或者为了使得输出结构易读,将一些不必要内容放置于后面,前面的字符串凸显结构,来方便看程序方便与理解方便。

setCursor,setAcceptedMouseButtons函数其实很简单,就不另开文章,在这里简要介绍一下。

setCursor的功能是设置鼠标光标形状,当鼠标光标放置于此处的coloritem小图元时,鼠标光标的形状会产生变化,会按括号后面给定的光标形状,来进行显示。

而setAcceptedMouseButtons的功能是设置接收事件的鼠标按钮,当设定按钮时,只有按下相应按钮,该图元才会有反映,这里设置的是鼠标左键,只响应左键按下的鼠标事件。

以上,就是我对这段代码的解析,希望能对大家产生帮助。

QString字符串中出现%1,%2时,输出的形式与setCursor,setAcceptedMouseButtons函数浅析

标签:标识   cli   oba   dom   rgba   rap   accept   方便   tor   

原文地址:https://www.cnblogs.com/meiyingluoyu/p/14779769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!