标签:标识 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