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学 ...
随机推荐
- 利用putty实现文件在linux上传和下载
利用putty实现文件上传和下载:1.打开windows命令提示符窗口d:(putty在d盘下)cd putty(pscp.exe所在目录)2:上传(主要利用pscp程序)pscp d:/jdk-8u ...
- javaee学习-JSP指令简介
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: page指令 Inclu ...
- 17_AOP入门准备_Salay案例(利用动态代理)
[案例分析] 查看Salary: 1.启动日志 2.启动安全性的框架 3.检查权限:如果有查看工资的权限,则查看工资,否则提示"权限不足" [工厂截图] [SalaryManage ...
- 「Windows MFC 」「Edit Control」 控件
「Windows MFC 」「Edit Control」 控件
- ASP.NET中的Request、Response、Server对象
Request对象 Response.Write(Request.ApplicationPath) //应用根路径 Request.AppRelativeCurrentExecutionFilePat ...
- gitlab的安装以及汉化
gitlab的安装 首先在网上下载好任意版本gitlab的rpm包 推荐下面的地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gi ...
- ubuntu nginx 伪静态 设置
简单的静态设置 1 vim nginx.conf // 修改nginx配置文件 server { .... root /usr/local/nginx/html; #nginx网站根目录 #下面这个 ...
- 【Android】Sqlite3命令详解
Sqlite3常用命令 Sqlite3命令有"."符合作为前缀. 基本操作 1.创建或者打开数据库 sqlite3 xxx.db 如果xxx.db存在则打开如果没有则新建此时执行创 ...
- php hook 之简单例子
<?php// 应用单例模式// 建立相应的 plugins 文件夹,并建立 .php 文件放在里面class plugin{ public $actions; public $fi ...
- Sumbline编译Less
Less教程 Sublime Text 2的Less2Css插件介绍与安装 网址 http://fdream.net/blog/article/783.aspx 如果出现node.exe不是内部命令的 ...