zoukankan      html  css  js  c++  java
  • Qt example之Joke for Android( make for my honey)

    这是为女朋友生日而制作的一个小小礼物,女朋友天天吵着要讲笑话给她听。现在好了,直接做一个笑话软件给她。不过,女人嘛,感性动物,还是喜欢你亲口讲的!

    ----------------------------------------------------------------------------------------------------------------

    所有源代码可以通过https://github.com/BoboSp/Joke下载。

    ----------------------------------------------------------------------------------------------------------------

    承接前面两篇文章:

    http://blog.csdn.net/teamossp/article/details/8912789

    http://blog.csdn.net/teamossp/article/details/8918996

    这是对这个程序的总结文章。

    下面只截取部分代码,讲讲自己对Qt API的理解以及c++的一些低级错误:


    1.new and delete.

    InternetJoke::InternetJoke(QWidget *parent)
        : QDialog(parent),
         joke(new QString),
          networkAccess(new QNetworkAccessManager(this)),
        url(new QString("http://www.jokearea.com/")),
        codec(QTextCodec::codecForName("U-TF8"))
    {
        requestHttp ();
        connect(networkAccess,SIGNAL(finished(QNetworkReply*))
                ,this,SLOT(showHttp(QNetworkReply*)));
    }

    类成员指针,使用new初始一个指针,那么这是程序员在堆上建立的,最后必须delete掉,一般在析构函数里面,不然就会造成内存泄漏问题,

    如果是在一个函数内new的一个local指针,这也是需要手动delete的,这不同于在函数里面定义的一个对象:

    QTextStream textReader(reply);

    这是在栈上的,函数结束后会自动回收内存。

    2.Qt显示中文

    一般需要在main函数里面添加如下代码,

    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
        QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));                        
        QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));//按钮显示中文不乱码

    而对于含有中文string的类里,设置textcodec:

     QTextStream textReader(&xmlFile);
     QTextCodec *codec=QTextCodec::codecForName("UTF-8");
    textReader.setCodec(codec);//转换显示中文

    3.获取http步骤

    url(new QString("http://www.jokearea.com/")),//初始化列表中
    
     networkAccess->get(QNetworkRequest(QUrl(*url)));
    
    connect(networkAccess,SIGNAL(finished(QNetworkReply*)) ,this,SLOT(showHttp(QNetworkReply*)));
    
    void class::showHttp (QNetworkReply *reply);//处理http文件的槽函数







  • 相关阅读:
    HTML事件处理程序---内联onclick事件
    js的width函数
    了解跨站请求伪造CSRF
    离线百度地图
    GetOverlappedResult 函数
    OVERLAPPED 结构
    SetupDi系列函数
    Linux 各个命令的缩写原型
    Linux grep命令
    Linux if[......] then ......else...... fi
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3095569.html
Copyright © 2011-2022 走看看