吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1962|回复: 10
收起左侧

[求助] python运行后,显示gui界面和访问网络,如何两不误

[复制链接]
六个核的桃 发表于 2021-1-5 11:49
本帖最后由 六个核的桃 于 2021-1-5 11:55 编辑

老师请问,怎么才能运行后,显示gui界面和访问网络两不误呢(运行后,gui标签的文字是从网络资源获取的)

假如网络有点慢,gui内请求的网络内容,就会等网络加载完才显示…  需要做成运行后,gui显示出来,网络也会跟着请求,网络请求结束,gui内的标签再更新网络内容。



gui示例:
[Python] 纯文本查看 复制代码
import PySimpleGUI as sg
import requests

sg.SetOptions(text_justification='center')
try:
    github = requests.get("http://baidu.com").status_code
    print(github)
except:
    github = '网络问题'

layout = [
    [
        sg.Button('退出'),
        sg.Text(
            github,
            size=(38, 1),
            key='git',
        ),
    ],
]

window = sg.Window('', layout, location=(450, 100))

while True:
    event, values = window.read()

    if event == '退出':
        break

window.close()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sununs 发表于 2021-1-5 12:09
wxpython 是
self.timer2 = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.init, self.timer2)
self.timer2.StartOnce(300)  # 设定时间间隔
骑狗的猴子 发表于 2021-1-5 12:11
 楼主| 六个核的桃 发表于 2021-1-5 12:28
sununs 发表于 2021-1-5 12:09
wxpython 是
self.timer2 = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.init, self.timer2)

大佬支持下pysimplegui吧,wxpython着实有点麻烦
 楼主| 六个核的桃 发表于 2021-1-5 12:28
骑狗的猴子 发表于 2021-1-5 12:11
这是要做一个软件认证一类的吗

做一言的,调用一言的接口显示在标签上
小k666 发表于 2021-1-5 13:07
运行gui后多线程网络请求
 楼主| 六个核的桃 发表于 2021-1-5 13:08
小k666 发表于 2021-1-5 13:07
运行gui后多线程网络请求

曾考虑过,但没有成功,大佬可否贴个demo
zhorses 发表于 2021-1-5 15:00
多线程 或者 协程
paopjian 发表于 2021-1-5 15:15
双线程?我记得qt什么图形界面默认就是双线程的
ufo0033 发表于 2021-1-5 17:55
import time
import PySimpleGUI as sg
from threading import Thread

sg.SetOptions(text_justification='center')
SIGN = '0'
layout = [
    [sg.Button('退出'),
     sg.Text(
         '',
         size=(38, 1),
         key='git',
     ), ],
]

def changeText():
    time.sleep(3)
    global SIGN
    SIGN = '200'

t = Thread(target=changeText)
t.start()

window = sg.Window('', layout, location=(450, 100))

while True:
    event, value = window.read(timeout=1 * 1000)
    if event == '退出':
        break
    if event == sg.WIN_CLOSED:
        break
    if event == "__TIMEOUT__":
        print(SIGN)
        window['git'].update(SIGN)
        continue
window.close()
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-16 16:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表