《QT Creator快速入门》

ui中的类,这样使用无法通过调试:

Ui::Dialog ui(&w);
w.show();

而需要改成:

Ui::Dialog ui;
ui.setupUi(&w);
w.show();

 

Dialog包含ui类为私有成员,在Dialog的构造函数中添加了一些操作,在main函数使用下面的代码,调试时构造函数中的操作并没有执行,难道还需要一些启动命令??

Dialog ui(&w);
w.show();

 

使用at()比[]下标要快,因为它不会引起深拷贝。

QT的字符串格式化输出:

tr("文本块 % 1,文本块 % 2,长度:% 3").arg().arg().arg()

str="% 1 %2"

qDebug<< str.arg("% 1f","hello"); //结果为 % 1f hello

qDebug<< str.arg("% 1f").arg("hello");//结果为hellof %2

在字符串中可以使用的标记在1~99之间,从最小数字开始对应,比如QString("%5,%2,%7").arg("a").arg("b"),那么“a”会代替%2,b会代替%5,而%7会直接显示
arg()的一种重载形式为arg(const QString &a1,const QString &a2);
另一种重载形式可以指定宽度和填充字符:

QString::arg (const QString &a, int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ) ) const

 还有包含进制参数的重载形式请参考收藏Qt 字符串QString arg()用法总结


 

第19章:进程和线程

在使用QFileDialog::getOpenFileName时误写成了以下形式,导致不能选择任何图片(在选择框中没有任何预览):
QString filename=QFileDialog::getOpenFileName(0,QString(),tr("Images(* .png * .jpg)"));
改成如下形式后,就可以正常选择了:
QString filename=QFileDialog::getOpenFileName(0,QString(),QString(),tr("Images(* .png * .jpg)"));
从帮助文件中查看getOpenFileName:
QString QFileDialog::getOpenFileName(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0)

 QT支持字符串常量的下标访问:

buffer[i%BufferSize]="ABCD"[(int)qrand()%4];

posted @ 2016-06-12 18:18  IT由零开始  阅读(4252)  评论(0编辑  收藏  举报