inyfee
V2EX  ›  问与答

pyqt 如何实现用户认证功能 ?

  •  
  •   inyfee · Jun 14, 2015 · 2754 views
    This topic created in 4012 days ago, the information mentioned may be changed or developed.

    需求:
    我想用pyqt做前端GUI,功能类似浏览器,发起http请求(get,post,put,delete) ,获取数据之后更新UI(备注:我不想用Qwebkit,此时不想写HTML)。

    遇到的麻烦 :
    google出来的资料非常的少,一翻努力之后发现可用QNetworkAccessManager来实现发送 http请求的功能,但是不知道如何带用户认证,看了QT的文档之后也不知道如何去用。
    因为之前一直写WEB,现在在写桌面GUI的时候思维总是照着写WEB的方式去写,有点转不过弯。

    希望:
    有没有现成的pyqt的开源项目 ,功能类似我的需求,因为pyqt的example非常少,我想如果有类似的开源项目来学习就最好了。

    4 replies    2015-06-14 10:53:13 +08:00
    Sylv
        1
    Sylv  
       Jun 14, 2015 via iPhone
    个人愚见:HTTP 请求没必要通过 PyQt 实现吧,用 Python 自带库或第三方库如 requests 来实现,PyQt 就只用来负责实现 GUI,这样不行吗?
    inyfee
        2
    inyfee  
    OP
       Jun 14, 2015 via Android
    @Sylv 那请问如何实现异步呢?
    Sylv
        3
    Sylv  
       Jun 14, 2015 via iPhone
    @yeelone 用 QThread 再开个线程用来处理网络请求,这样可以吗?
    很久没用 PyQt 了,细节记不清了,之前我有个项目应该是这样实现的。
    inyfee
        4
    inyfee  
    OP
       Jun 14, 2015
    @Sylv 我现在用requests-futures 这个库,实验了一下应该是可以了。
    类似代码如下:
    ```
    def handler(self):
    session = FuturesSession()
    self.feture = session.get('http://baidu.com/get', background_callback=self.reply)
    response = self.feture.result()

    def reply(self,sess,resp):
    print(resp.content)
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5513 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:55 · PVG 15:55 · LAX 00:55 · JFK 03:55
    ♥ Do have faith in what you're doing.