彩票走势图

Qt quick 示例:推特搜索程序开发

翻译|使用教程|编辑:鲍佳佳|2021-03-02 11:36:19.523|阅读 141 次

概述:本文将创建一个Tweet Search一个QML应用程序,它使用许多查询参数来搜索发布到Twitter服务的项目。可以搜索来自指定用户的推文,主题标签或搜索短语。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。

下载Qt6最新试用版

Qt组件推荐:

  • QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面

以下是具有3D效果的Twitter搜索客户端。

Tweet Search是一个QML应用程序,它使用许多查询参数来搜索发布到Twitter服务的项目。可以搜索来自指定用户的推文,主题标签或搜索短语。

搜索结果是显示推文内容以及发布该推文的用户的名称和图像的项目列表。内容中的标签,名称和链接是可单击的。单击图像将翻转该项目以显示更多信息。

运行示例

要从Qt Creator运行示例,请打开“welcome”模式,然后从“demo”中选择demo。有关更多信息,请访问构建和运行示例

Tweet Search使用Twitter API v1.1来运行搜索。

请求认证

每个请求都必须代表应用程序进行身份验证。出于演示目的,该应用程序使用硬编码令牌来向Twitter服务标识自己。但是,此令牌受请求数量以及可能到期的速率限制。

如果您在运行演示时遇到身份验证或速率限制问题,请通过在//dev.twitter.com/apps上注册一个新应用程序来获取一组特定于应用程序的令牌(消费者密钥和消费者密码)。

TweetsModel.qml中输入两个令牌值:

    property string consumerKey : ""
    property string consumerSecret : ""

重建并运行演示。

JSON解析

搜索结果以JSON(JavaScript对象表示法)格式返回。TweetsModel使用XMLHTTPRequest对象发送HTTP GET请求,并在返回的文本字符串上调用JSON.parse()以将其转换为JavaScript对象。然后,将代表推文的每个对象添加到ListModel:

        var req = new XMLHttpRequest;
        req.open("GET", "//api.twitter.com/1.1/search/tweets.json?from=" + from +
                        "&count=10&q=" + encodePhrase(phrase));
        req.setRequestHeader("Authorization", "Bearer " + bearerToken);
        req.onload = function() {
            var objectArray = JSON.parse(req.responseText);
            if (objectArray.errors !== undefined) {
                console.log("Error fetching tweets: " + objectArray.errors[0].message)
            } else {
                for (var key in objectArray.statuses) {
                    var jsonObject = objectArray.statuses[key];
                    tweets.append(jsonObject);
                }
            }
            wrapper.isLoaded()
        }
        req.send();


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP