Qt学习之路(1)------Qt常用类用法说明
Qt常用类
向控制台输出文本
第一个例子,我们采用STL的方式:
#include <iostream> int main()
{
std::cout << "console application\n";
}
第二个例子我们用QT4编程库
#include <QTextStream> int main()
{
QTextStream out(stdout);
out << "console application\n";
}
Output
console application
QFile
写一行字符串到文件中
#include <QTextStream>
#include <QFile> int main()
{ QFile data("myfile"); if (data.open(QFile::WriteOnly)) {
QTextStream out(&data);
out << "You make me want to be a better man." << endl;
}
}
$ cat myfile
You make me want to be a better man.
下面的例子我们输出一段文本到控制台
S a régi szeretőmér
mit nem cselekednék,
tengerből a vizet
kanállal lemerném. S a tenger fenekéről
apró gyöngyöt szednék,
s a régi szeretőmnek
gyöngykoszorút kötnék.
#include <QTextStream>
#include <QFile> int main()
{
QFile data("szerelem"); QString line; if (data.open(QFile::ReadOnly)) {
QTextStream in(&data);
QTextStream out(stdout); out.setCodec("UTF-8");
in.setCodec("UTF-8"); do {
line = in.readLine();
out << line << endl;
} while (!line.isNull());
}
}
S a régi szeretőmér
mit nem cselekednék,
tengerből a vizet
kanállal lemerném. S a tenger fenekéről
apró gyöngyöt szednék,
s a régi szeretőmnek
gyöngykoszorút kötnék.
QList
Qt容器类之一
#include <QTextStream>
#include <QList> int main()
{
QTextStream out(stdout); QList<QString> list; list << "Balzac" << "Tolstoy" << "Guldbrassen"
<< "London" << "Galsworthy" << "Sienkiewicz"; qSort(list); for (int i = 0; i < list.size(); ++i) {
out << list.at(i) << endl;
} }
Output
Balzac
Galsworthy
Guldbrassen
London
Sienkiewicz
Tolstoy
QDir
管理文件目录
#include <QTextStream>
#include <QDir> int main()
{
QTextStream out(stdout);
QString home = QDir::homePath();
out << home << endl;
}
Output
/home/vronskij
输出应用程序所在路径中扩展名是.c的全部文件名字
#include <QTextStream>
#include <QDir> int main()
{
QTextStream out(stdout);
QDir dir; QStringList filters;
filters << "*.c" << "*.c~";
dir.setNameFilters(filters); QFileInfoList list = dir.entryInfoList(); for (int i = 0; i < list.size(); ++i) {
QFileInfo fileInfo = list.at(i);
out << QString("%1").arg(fileInfo.fileName());
out << endl;
}
}
$ ls -F
anim* anim.c anim.c~ filters*
$ ./filters
anim.c
anim.c~
QTime
输出当前时间
#include <QTextStream>
#include <QTime> int main()
{
QTextStream out(stdout); QTime qtime = QTime::currentTime();
QString stime = qtime.toString(Qt::LocalDate); out << stime << endl;
}
Output
$ ./time
10:30:33 PM
QString
字符串连接
#include <QTextStream> int main()
{
QString a = "Disziplin ";
QString b = "ist ";
QString c = "Macht.\n"; QTextStream out(stdout);
out << a + b + c;
}
$ ./concat
Disziplin ist Macht.
字符串追加
#include <QTextStream> int main()
{ QString string = "Whether I shall "; string.append("turn out to be the hero of my own life, \n");
string.append("or whether that station will be held by anybody else, \n");
string.append("these pages must show.\n"); QTextStream out(stdout);
out << string;
}
$ ./append
Whether I shall turn out to be the hero of my own life,
or whether that station will be held by anybody else,
these pages must show.
参数替换
#include <QTextStream> int main()
{
QString string = "What if I gave you %1 red roses?";
int num = 21; QTextStream out(stdout);
out << string.arg(num) << endl;
}
$ ./str3
What if I gave you 21 red roses?
输出字符串长度
#include <QTextStream> int main()
{
QString string = "The history of my life."; QTextStream out(stdout);
out << "The string has " + QString::number(string.size())
+ " characters." << endl;
}
./size
The string has 23 characters.
字符串大小写转换
#include <QTextStream> int main()
{
QString string = "The history of my life."; QTextStream out(stdout);
out << string.toLower() << endl;
out << string.toUpper() << endl;
}
$ ./uplow
the history of my life.
THE HISTORY OF MY LIFE.
Qt学习之路(1)------Qt常用类用法说明的更多相关文章
- Qt 学习之路 :Qt Quick Controls
自 QML 第一次发布已经过去一年多的时间,但在企业应用领域,QML 一直没有能够占据一定地位.很大一部分原因是,QML 缺少一些在企业应用中亟需的组件,比如按钮.菜单等.虽然移动领域,这些组件已经变 ...
- Qt 学习之路 :Qt 绘制系统简介
Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制.整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类. QPainter用来执行绘制的 ...
- Qt 学习之路 :Qt 模块简介
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改.Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中.Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化.本节 ...
- Qt 学习之路 :Qt 线程相关类
希望上一章有关事件循环的内容还没有把你绕晕.本章将重新回到有关线程的相关内容上面来.在前面的章节我们了解了有关QThread类的简单使用.不过,Qt 提供的有关线程的类可不那么简单,否则的话我们也没必 ...
- Qt 学习之路:Qt 简介
Qt 是一个著名的 C++ 应用程序框架.你并不能说它只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个“一站式”的解决方案:不再需要研究 S ...
- Qt 学习之路 2(73):Qt 线程相关类
Home / Qt 学习之路 2 / Qt 学习之路 2(73):Qt 线程相关类 Qt 学习之路 2(73):Qt 线程相关类 豆子 2013年11月26日 Qt 学习之路 2 7条评论 希 ...
- Qt 学习之路 2(66):访问网络(2)
Home / Qt 学习之路 2 / Qt 学习之路 2(66):访问网络(2) Qt 学习之路 2(66):访问网络(2) 豆子 2013年10月31日 Qt 学习之路 2 27条评论 上一 ...
- Qt 学习之路 2(65):访问网络(1)
Home / Qt 学习之路 2 / Qt 学习之路 2(65):访问网络(1) Qt 学习之路 2(65):访问网络(1) 豆子 2013年10月11日 Qt 学习之路 2 18条评论 现在 ...
- Qt 学习之路 2(44):QFileSystemModel
Home / Qt 学习之路 2 / Qt 学习之路 2(44):QFileSystemModel Qt 学习之路 2(44):QFileSystemModel 豆子 2013年2月21日 Qt ...
- QT学习之路--创建一个对话框
Q_OBJECT:这是一个宏,凡是定义信号槽的类都必须声明这个宏. 函数tr()全名是QObject::tr(),被他处理过的字符串可以使用工具提取出来翻译成其他语言,也就是做国际化使用. 对于QT学 ...
随机推荐
- requirejs下载与配置
写在开始: requirejs有中文版api文档,可以访问http://www.requirejs.cn/home.html 下载requirejs 访问http://www.requirejs.cn ...
- 10.20_wiki
XWiki:官网.Documentation.User's GuideProgrammer's GuideAdministrator's Guide Developer's Guide (1) htt ...
- Codevs 1225 八数码难题
1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Yours和zero在研究A*启发式算法.拿到一道经典的 ...
- 静态库的pdb
静态库也会有pdb,只不过,默认是以vc编译器作为名字,比如vs2003的lib的pdb是vc70.pdb,vs2008则是vc90.pdb
- c# 与 winform 界面开发
在 windows 下使用 vs2010 开发,未深入研究. c# 与 .net 开发,一堆又一堆的新名词,头晕目眩,比如 CLR / apartments / STA / MTA / COM 吐槽无 ...
- Leetcode 解题 Add Two Numbers Python
原题: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
- C# dataGridView不显示默认行的解决办法
当页面只有一个dataGirdView时,调用From的Activated函数,在Activated函数里调用以下两个函数,可清除默认选择行 private void From_Activated(o ...
- 如何利用C生成.so供Mono调用
Mono诞生的初衷是为了吸引更多的Windows .Net程序员来加入Linux平台的开发.但在Linux世界中C语言依然是 主流.很多时候一些关键应用(比如大型 笛卡儿 乘积运算.需要调用平台硬件功 ...
- structDemo1
structDemo1 # include <iostream.h> # include <malloc.h> enum EType{ One = ,Tow,Three }; ...
- python中的字典(dict),列表(list),元组(tuple)
一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...