第4课_Qt的应用程序类型

本文介绍了Qt的三种应用程序类型:控制台应用程序、窗口应用程序及其各自的特点和创建步骤。对于窗口应用程序,详细讲解了自定义窗口部件、桌面窗口及图形绘制。在附录部分,列举并解决了编译时可能遇到的问题,如类型不完整等,并总结了关键语法点,如QTextStream、QListWidget和QGraphicsView等的使用。
摘要由CSDN通过智能技术生成

控制台应用程序

通过命令行运行的不需要提供任何人机交互图形界面通常被称作系统服务。Qt不仅仅是用户界面工具,它也提供了许多其他的功能。
创建步骤:文件–>新建文件或项目–>Application–>Qt Console Application
注意:创建的路径中不能有中文出现,会报错。

字符串处理功能

#include <QtCore>

// text stream is text-codec aware
QTextStream cout(stdout, QIODevice::WriteOnly);

int main(int argc, char** argv){
    Q_UNUSED(argc)
    Q_UNUSED(argv)

    QString s1("Paris");
    QString s2("London");

    QString s = s1 + " " + s2 + "!";
    cout << s << endl;
}

容器类

#include <QtCore>

QTextStream cout(stdout, QIODevice::WriteOnly);

int main(int argc, char** argv){
    Q_UNUSED(argc);
    Q_UNUSED(argv);

    QString s1("Hello");
    QString s2("Qt");
    QList<QString> list;
    list << s1 << s2;
    QListIterator<QString> iter(list);
    //==QString s = list.join(" ") + "!";
    while(iter.hasNext()) {
        cout << iter.next();
        if(iter.hasNext()) {
            cout << " ";
        }
    }
    cout << "!" << endl;
}

文件IO

#include <QtCore>

int main(int argc, char** argv){
    Q_UNUSED(argc);
    Q_UNUSED(argv);

    QList<QStringList> data;

    QFile file("E:\\Qt_Project\\untitled2\\sample.csv");
    if(file.open(QIODevice::ReadOnly)) {
        QTextStream stream(&file);
            forever {
  //==(;;)
            QString line = stream.readLine();//Reads one line of text from the stream, and returns it as a QString.
            if(line.isEmpty() || line.isNull()) {
                break;
            }
            QStringList row;
            foreach(const QString& cell, line.split(",")) {
                row.append(cell.trimmed());
            }
            data.append(row);
        }
    }
    QListIterator<QStringList> iter(data);
    while(iter.hasNext()) {
        qDebug() << iter.next();
    }
}

窗口应用程序

基于控制台的应用程序非常方便,但有时候需要一些用户界面。但是基于用户界面的应用程序需要后端来写入/读取文件,使用网络进行通讯或者将数据保存在容器中。
创建步骤:文件–>新建文件或项目–>Application–>Qt Widgets Application–>基类填写QWidget

自定义窗口部件

/*----------------------main.cpp------------------*/
#include "widget.h"
#include "customwidget.h"
#include <QtWidgets>
#include <QScopedPointer>

int main(int argc, 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值