pyqt5登录窗口,python做qq登录页面

PyQt5的资料太少,功能也有限,所以我花了一天时间才创建了一个客户端。它有一个bug,只能登录和检索cookie。现在就创建一个学习记录,并在以后有时间时进行改进。

安装第三方库后,复制并粘贴并运行它。

导入系统

导入请求

从PyQt5.Qt 导入*

从PyQt5.QtWebEngineWidgets QWebEngineView、QWebEngineProfile 导入

从PyQt5.QtWidgets 导入QApplication、QWidget、QPushButton

类MainWindows(QWidget):

def __init__(self,*args,**kwargs):

super().__init__(*args,**kwargs)

self.setWindowTitle(\’测试\’)

self.setWindowIcon(QIcon(\’n6.ico\’))

self.resize(800,800)#主窗口大小

self.setFixedSize(800, 800) #主窗口大小不能自由缩放

self.setup_ui()

def setup_ui(self):

self.Brows()

self.Cookie_btn()

self.textLine()

self.loadJS()

self.showTX()

def showTX(自身):

self.lab=QLabel(自我)

self.lab.setText(\’\’)

self.lab.resize(100, 100)

self.lab.move(50, 50)

# self.lab.setPixmap(QPixmap(\’./Info.png\’))

def textLine(自身):

self.pte=QPlainTextEdit(self)

# self.pte.setPlainText(\’111\’)

self.pte.resize(300, 300)

self.pte.move(300, 250)

defloadJS(自身):

self.ld=QPushButton(自身)

self.ld.setText(\’点击显示基本信息\’)

self.ld.move(150,0)

# self.btn_get.clicked.connect(self.run_js)

self.ld.clicked.connect(self.downUserInfo)

def Cookie_btn(自身):

self.btn_get=QPushButton(self) #创建一个按钮,点击获取cookie

self.btn_get.setText(\’获取cookie\’)

self.btn_get.move(50,0)

self.btn_get.clicked.connect(self.get_cookies) # 绑定按钮点击事件

聋人浏览(自):

self.web=MyWebEngineView(self) # 创建浏览器组件对象。主窗口是父控件。

self.web.resize(260, 360) #设置浏览器大小

self.web.move(20,30)

URL=\’https://qzone.qq.com/\’

self.web.load(QUrl(url))

self.web.show() #最后显示页面

#####网页加载并调用函数

self.web.page().loadFinished.connect(self.run_js)

#使用回调运行js脚本

def run_js(自身):

js_字符串=\’\’

函数myFunction()

{

var img_url=document.getElementById(\’QM_OwnerInfo_Icon\’).src;

返回img_url;

}

myFunction();

””

self.web.page().runJavaScript(js_string, self.js_callback)

# 回电

def js_callback(自身,结果):

# 打印(结果)

self.rs_succ=结果

打印(self.rs_succ)

# QMessageBox.information(self, \’提示\’, str(结果))

def downUserInfo(self):

url=self.rs_succ

标题={

\’用户代理\’ : \’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko 等) Chrome/77.0.3865.120 Safari/537.36\’

}

如果URL==\’无\’:

打印(\’没有\’)

: 其他

print(\’这是一个下载函数,网址是—\’, url)

响应=request.get(url,headers=headers)

使用open(\’Info.png\’, \’wb\’) 作为fp:

fp.write(响应.内容)

fp.close()

print(\’个人头像已保存!\’)

self.web.deleteLater()#销毁子控件

self.lab.setPixmap(QPixmap(\’./Info.png\’))

def get_cookies(self):

cookie=self.web.get_cookie() #获取浏览器获取到的cookie

print(\’获取cookie:\’, cookie)

self.pte.setPlainText(str(cookie))

# self.web.deleteLater()#删除浏览器子控件

创建您自己的继承自#QWebEngineView的浏览器控件

类MyWebEngineView(QWebEngineView):

def __init__(self, *args, **kwargs):

super(MyWebEngineView, self).__init__(*args, **kwargs)

# 绑定要添加cookie的信号槽

QWebEngineProfile.defaultProfile().cookieStore().cookieAdded.connect(self.onCookieAdd)

self.cookies={} # 保存cookie字典

def onCookieAdd(self, cookie): # 处理cookie添加事件

name=cookie.name().data().decode(\’utf-8\’) # 首先获取cookie的名称,然后处理编码

value=cookie.value().data().decode(\’utf-8\’) # 先获取cookie值,再处理编码

self.cookies[name]=value # 将cookie保存在字典中

# 获取cookie

def get_cookie(self):

cookie_str=self.cookies # 以字典格式返回

返回cookie_str

如果__name__==\’__main__\’:

应用程序=QApplication(sys.argv)

win_root=mainWindows()

win_root.show()

sys.exit(app.exec_())

最后小编想说,我是一名Python开发工程师。

我们整理了最新的Python系统学习教程。

如果想要这些信息,请关注小编私信“01”(免费分享)。

正在学习或计划学习Python的朋友可以私信编辑“01”接收信息。

本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/669411.html

(0)
上一篇 2024年6月4日
下一篇 2024年6月4日

相关推荐

  • 和平精英320皮肤是什么?

    和平精英320皮肤是什么? 和平精英 里面有三套火箭少女 ,主套就是火箭少女 ,有两个副套装 。 主套需要兑换币,320个兑换币来兑换 ,要你在转盘抽奖当中凑够320个兑换币就可以兑换火箭少女主套装 ,那两个副套装是60个币兑换的 ,最贵的那个就是摩托车,皮肤需要640个兑换币 。 和平精英皮肤查询? 有两种查看方法 : 第一种方法是在游戏的皮肤商店右下角有…

    游戏快讯 54分钟前
  • 和平精英蛋糕任务怎么做?

    和平精英蛋糕任务怎么做? 根据我所了解的情况,和平精英游戏中的蛋糕任务需要满足一定的条件才能完成。首先需要在地图上找到蛋糕,并拿到手中。接着需要在一定的时间内将蛋糕送回指定的点。如果被其他玩家攻击,则需要重新找回蛋糕。原因是:这个任务设置的目的在于让玩家在游戏中体验团队协作和竞技乐趣,同时也是为了给游戏增加趣味性,挑战玩家的操作和反应能力。内容延伸:在完成任…

    游戏快讯 2小时前
  • 和平精英地铁模式哪里玩?

    和平精英地铁模式哪里玩? 1:点击左下角的切换地图选项。2:选择界面中的地铁逃生模式。3:点击左下角的开始。 4:进入到游戏中,右下角拥有地铁模式即可 和平精英夜间模式? 方法如下:首先我们进入游戏,点击左边的地图,接着在页面左边点击选择经典模式。 最后在这个地图下进入游戏就会机会刷新出黑夜模式了,在右下角显示昼夜交替的。这样和平精英夜间模式就能找到 和平精…

    游戏快讯 3小时前
  • 和平精英怎么离开飞艇?

    和平精英怎么离开飞艇? 在和平精英中,离开飞艇有几种方法:1. 跳伞:当飞艇飞行至合适高度时,你可以选择跳伞离开飞艇。按下跳伞按钮,然后选择跳伞的方向和目的地。2. 使用滑翔翼:在飞艇上找到滑翔翼,装备它后你可以直接从飞艇上跳下,然后使用滑翔翼滑翔到地面。3. 选择弹射座椅:当飞艇受到严重损坏或失去控制时,有可能会触发弹射座椅。如果你坐在弹射座椅上,它会自动…

    游戏快讯 6小时前
  • 和平精英战队勋章怎么得?

    和平精英战队勋章怎么得? 1. 进入和平精英游戏大厅,然后点击右下角的【赛事】。 2. 接着我们选择一直喜欢的战队,点击他们的图标进入。 3. 接着我们挑选一份礼物赠送给战队。(首次赠送可以解锁一级勋章) 4. 接着我们前往【我的勋章】 5. 在【我的勋章】页面,查看自己解锁的勋章。 6. 最后我们选择刚刚赠礼解锁的战队勋章佩戴即可。 和平精英兑换勋章怎么得…

    游戏快讯 8小时前