1. property信号处理函数;
在qml中,通过property可以定义属性,这些属性自带信号处理函数,例如:
property string szTitle: “hello world!"
那么, 相应的就有了 onSzTitleChanged信号处理函数;
2. ListView的使用
ListView{
width: 200; //宽高必须进行设置,不然显示不出来;
height: 300;
model: ListModel{
ListElement{test: "nihao"}
ListElement{test: "zhongguo"}
ListElement{test: "nihao"}
ListElement{test: "heelo"}
ListElement{test: "nihao"}
}
delegate:Text{ text: model.test;} //delegate 单元素设置;
}
3. alias 与 flickable联合使用;
当使用alias对flickable进行联合,注意flickable的clip的设置,该设置默认是flase的,如果设置为true,那么就要设置width,height,不然内容不会自动进行弹动;
4、资源文件的使用
组件最好导入到资源文件中,这样在编译的时候可以讲组件编译成二进制,而且这样进行访问的时候也比较方便;
5、Qt.platform.os的使用
使用Qt.platform.os可以获取当前使用的系统,用来进行不同环境的配置。
系统类别有:
"android" - Android
"blackberry" - BlackBerry OS
"ios" - iOS
"linux" - Linux
"osx" - OS X
"unix" - Other Unix-based OS
"windows" - Windows
"wince" - Windows CE
"winrt" - Windows RT
"winphone" - Windows Phone
6、javascript 中 string中数字字符转换为int;
譬如: "123world",从中提取出123; 使用函数parseInt();
var szStr = "123world"
var szTest = "100"
parseInt(szStr) //返回123;
parseInt(szTest) //返回100;
7、QString格式化方式;
QString格式化可以采用asprintf函数,该函数定义为static(即静态函数);
[static] QString QString::asprintf(const char *cformat, ...)
但是,新版本的qt不推荐这种方式,而推荐采用QTextStream or arg;
arg:
QString i; // current file's number
QString total; // number of files to process
QString fileName; // current file's name
QString status = QString("Processing file %1 of %2: %3")
.arg(i).arg(total).arg(fileName);
QTextStream:
QString result;
QTextStream(&result) << "pi = " << 3.14;
// result == "pi = 3.14"
8、FocusScope
FocusScope继承于item,提供焦点区域,可以用于复用性组件创建。
9、Text and TextField
Text: 纯文本;
TextField: 可供编辑的单行文本,通过设置readOnly为false,可以实现不可编辑,这时候仅能全选等操作而不能输入编辑。
10、exe路径获取;
头文件 #include <QCoreApplication>, 按照下面的方式获取exe文件的路径;
QString szAppPath = QCoreApplication::applicationDirPath();
11、QVariantList使用;
QVariantList可以很方便实现C++与qml之间的数据交换,通过下面的方式实现双边转换:
QVariantList 添加数据;
例如: 将QString转换为QVariant;
QString szStr = "hello world!";
QVariantList testList;
testList.append(QVariant::fromValue(szStr));
反过来,将QVariant转换为QString;
QVariant temp = testList[0];
QString szStr = temp.value<QString>(); 注: value可以实现转换为自定义类型,比较方便,推荐使用;
注: 该篇为扩展型博文,后续将逐步添加;