首页 > 代码库 > Qt学习之路(1)------Qt常用类用法说明

Qt学习之路(1)------Qt常用类用法说明


Qt常用类

 

向控制台输出文本

第一个例子,我们采用STL的方式:

console.cpp
#include <iostream>int main(){  std::cout << "console application\n";}

第二个例子我们用QT4编程库

console2.cpp
#include <QTextStream>int main(){   QTextStream out(stdout);   out << "console application\n";}

Output

console application

QFile

写一行字符串到文件中

file.cpp
#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;   }}
Output
$ cat myfile You make me want to be a better man.

下面的例子我们输出一段文本到控制台

szerelem
S a régi szeret?mér­mit nem cselekednék,tengerb?l a vizetkanállal lemerném.S a tenger fenekér?lapró gyöngyöt szednék,s a régi szeret?mnekgyöngykoszorút kötnék. 
szerelem.cpp
#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());  }}
Output
 S a régi szeret?mér­mit nem cselekednék,tengerb?l a vizetkanállal lemerném.S a tenger fenekér?lapró gyöngyöt szednék,s a régi szeret?mnekgyöngykoszorút kötnék. 

QList

Qt容器类之一

mlist.cpp
#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

BalzacGalsworthyGuldbrassenLondonSienkiewiczTolstoy

QDir

管理文件目录

home.cpp
#include <QTextStream>#include <QDir>int main(){  QTextStream out(stdout);  QString home = QDir::homePath();  out << home << endl;}

Output

/home/vronskij

输出应用程序所在路径中扩展名是.c的全部文件名字

filters.cpp
#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;  } }

 

Output
$ ls -Fanim*  anim.c  anim.c~  filters*$ ./filters anim.canim.c~

QTime

输出当前时间

mtime.cpp
#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

字符串连接

concat.cpp
#include <QTextStream>int main(){   QString a = "Disziplin ";   QString b = "ist ";   QString c = "Macht.\n";   QTextStream out(stdout);   out << a + b + c;}

 

Output
$ ./concatDisziplin ist Macht.

字符串追加

append.cpp
#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;}
Output
$ ./appendWhether 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.

参数替换

arg.cpp
#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; }
Output
$ ./str3 What if I gave you 21 red roses?

输出字符串长度

size.cpp
#include <QTextStream>int main(){ QString string = "The history of my life."; QTextStream out(stdout); out << "The string has " + QString::number(string.size())    + " characters." << endl; }
Output
 ./sizeThe string has 23 characters.

字符串大小写转换

uplow.cpp
#include <QTextStream>int main(){  QString string = "The history of my life.";  QTextStream out(stdout);  out << string.toLower() << endl;   out << string.toUpper() << endl; }
Output
$ ./uplowthe history of my life.THE HISTORY OF MY LIFE.

 

Qt学习之路(1)------Qt常用类用法说明