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


Qt常用类

向控制台输出文本

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

console.cpp
#include <iostream>

int main()
{
  std::cout << "console application
";
}

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

console2.cpp
#include <QTextStream>

int main()
{
   QTextStream out(stdout);
   out << "console application
";
}

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 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. 
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 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容器类之一

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

Balzac
Galsworthy
Guldbrassen
London
Sienkiewicz
Tolstoy

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 -F
anim*  anim.c  anim.c~  filters*
$ ./filters 
anim.c
anim.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.
";

   QTextStream out(stdout);
   out << a + b + c;
}
Output
$ ./concat
Disziplin 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, 
");
   string.append("or whether that station will be held by anybody else, 
");
   string.append("these pages must show.
");

   QTextStream out(stdout);
   out << string;
}
Output
$ ./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.

参数替换

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
 ./size
The 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
$ ./uplow
the history of my life.
THE HISTORY OF MY LIFE.
原文地址:https://www.cnblogs.com/xchsp/p/4063316.html