首页 > 编程语言 >python如何开发一个GUI图形应用?

python如何开发一个GUI图形应用?

时间:2022-12-12 11:47:24浏览次数:64  
标签:app 登录 python GUI ui PySide2 图形 qFile

需求:

  • 我想学习,python如何开发一个GUI图形应用?

解决:

总共分两部分:前端ui和后端逻辑py。

 

前端ui

  • 1.导入模块
pip install PySide2
  • 2.找到designer.exe  打开
    • 在python安装的所在的目录里找到 site-packages -- PySide2 -- designer.exe
    •  

 

  • 3 开始设计 
    •   选择widget
    • 拖拽元素进行设计
    •   保存到指定目录下

后端逻辑py

  • 示例代码
  • from PySide2.QtCore import QFile # 使用这个去关联ui文件
    from PySide2.QtUiTools import QUiLoader # 加载
    from PySide2.QtWidgets import QApplication  # 应用对象
    
    # 1.创建执行应用app
    app = QApplication([])  # 写个空列表就行
    
    # 2.打开ui文件
    qFile = QFile('登录功能.ui')
    qFile.open(qFile.ReadOnly)
    
    # 3.加载这个ui文件里面的所有的对象
    ui = QUiLoader().load(qFile)
    
    # 4.关闭qfile对象
    qFile.close()
    
    # --------------------封装登录操作的逻辑---------------
    def login():
        # print('我正在执行登录操作'.center(50,"="))
        # 1.获取账号的信息
        username = ui.lineEdit.text()   # 获取到lineEdit的内容
        # 2.获取密码的信息
        password = ui.lineEdit_2.text()  # 获取到lineEdit的内容
        # 3.判断--一般关联数据库查询
        # 下面这个也可以发接口信息
        if username == "liqi" and password == "123456":
            info = "登录成功"
            ui.textBrowser.append(info)
        else:
            info = "登录失败"
            ui.textBrowser.append(info)
    
    
    # 函数关联对应的页面对象-----当点击登录按钮的就执行
    ui.pushButton.clicked.connect(login)
    
    # 5.ui页面显示
    ui.show()
    
    # 6.执行运行app应用
    app.exec_()
    View Code

     

  • 目录结构为:
  •  

    运行效果(我这里电脑分辨率的问题,导致显示有缺失)

 

扩展1 - 如何封装为exe:

1.安装打包插件

pip install pyinstaller

2.执行命令

Pyinstaller -F -w setup.py # 不带控制台的打包

 

 

 

 3.然后把dist的exe文件跟ui放在一起。就可以运行了。

 

参考资料https://zhuanlan.zhihu.com/p/162237978

 

扩展2 - 如何把ui转换为python文件:

 

 

参考资料 https://blog.csdn.net/qq_47452807/article/details/124196362

 

 

参考资料:

1.打包方式

2.大佬开发资料1

3.大佬开发资料2

 视频资料

标签:app,登录,python,GUI,ui,PySide2,图形,qFile
From: https://www.cnblogs.com/liqi175/p/16975254.html

相关文章

  • 用Python将图片转为字符画
    今天打算玩个好玩的,也是基于一个优秀的图像处理库——PIL,使用ascii字符把图片转为黑白字符画。首先有个问题,就是模拟灰度,这里有个公式:Gray=0.2126×R+0.7152×G+0......
  • 详解Python 3.8的海象算子:大幅提高程序执行效率
    ​作者:AnimeshGaitonde机器之心编译参与:Panda前几个月发布的Python3.8包含了一项重要的新功能,即海象算子。如果合理运用,该算子能有效地提升Python程序的执行效率。本......
  • python for-else break continue应用
    ##for临时变量in序列:##重复执行的代码##......##else:##循环正常结束后要执行的代码#所谓else指的是循环正常结束后要执行的代码,即如果是bresk终止......
  • Python 基于xml.etree.ElementTree实现XML对比
    测试环境Python3.6Win10代码实现#!/usr/bin/envpython3.4.0#-*-encoding:utf-8-*-__author__='shouke'importxml.etree.ElementTreeasETdefcompare_......
  • python高性能异步爬虫
    目的:在爬虫中使用异步实现高性能的数据爬取操作。异步爬虫的方式:1、多线程,多进程(不建议):好处:可以为相关阻塞的操作单独开启线程,阻塞操作就可以异步执行。弊端:无法无限制的开......
  • python服务端与android客户端基于TCP协议的简单通信
    点击连接服务器后接收传来的数据,改变Textview的文字内容在服务器端建立一个py文件server.pyimportsockethost='10.0.1.15''''上边这里填服务器的内网地址我也不知......
  • 使用Python解析Windows系统日志
    目标要求:对Windows系统日志进行处理,并生成统计文件1.如何找到Windows系统日志?通常情况下,我们都是在Windows系统自带的事件查看器查看系统日志(使用win+x可以快速......
  • python 字符串的格式化
    什么是格式化定义:一个固定的字符串中有部分元素是根据变量的值而改变的字符串今天是xx,星期xx,大家好date='2022.1211'day='--' 根据类型定义的格式化'myname......
  • 进入python的世界_day49_Django的基本配置、ORM、前后端数据库的相联
    ​ 接口就是一个网址一、静态文件​ 不需要经常改变的文件,主要针对HTML文件所用到的资源,在django中,要提前手动创建一个文件夹,static,然后里面自己再分门别类一下#比如......
  • 打印如下图形的杨辉三角
    图形如下   代码如下1#define_CRT_SECURE_NO_WARNINGS12#include<stdio.h>3intmain()4{56intarr[11][10];//打印这种图形第0行要舍弃......