GUI界面设计学渣笔记———使用PyQt做深度学习的可视化界面

要对我们项目的功能进行封装,做一个GUI界面

开始学图形界面,从最热门的pyqt5学起~~

学习大神的视频做得学习笔记

学习视频地址

Python Qt 图形界面编程 - 华为大叔7天带你入门 - PySide2 PyQt5 PyQt PySide

开发环境

  • pycharm
  • python+PyQt5库
  • qt creator

下载QT creator

下载QT的详细教程:下载QT的详细教程

下载QT相关内容的链接集合:下载QT相关内容的链接集合:
//即下载QT creator

下载PyQt5库

  1. 关于PyQt
    在这里插入图片描述
  2. 关于PyQt和PySide2
    PySide2、PyQt5 都是基于著名的 Qt 库。

Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。

PySide2、PyQt5 这两者有什么区别呢?

PySide2 是Qt的 亲儿子

PyQt5 是Qt还没有亲儿子之前的收的义子 (Riverbank Computing这个公司开发的)。

那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?

原因很简单:PySide2 这亲儿子最近(2018年7月)才出生。

但是亲儿子毕竟是亲儿子,Qt准备大力培养,PySide2 或许更有前途。

已经在使用 PyQt5 的朋友不要皱眉, 两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。

如果你的程序是PyQt5开发的,通常只要略作修改,比如把导入的名字从 PyQt5 换成 PySide2 就行了。反之亦然。

命令行安装PyQt5

命令行中直接执行

pip install pyqt5-tools

Qt简单界面学习

创建一个简单的界面
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,  QPlainTextEdit

app = QApplication([])

window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('薪资统计')

textEdit = QPlainTextEdit(window)
textEdit.setPlaceholderText("请输入薪资表")
textEdit.move(10,25)
textEdit.resize(300,350)

button = QPushButton('统计', window)
button.move(380,80)

window.show()

app.exec_()

运行结果
在这里插入图片描述

QApplication

app = QApplication([])

QApplication 提供了整个图形界面程序的底层管理功能,比如:

初始化、程序入口参数的处理,用户事件(对界面的点击、输入、拖拽)分发给各个对应的控件,等等…

既然QApplication要做如此重要的初始化操作,所以,我们必须在任何界面控件对象创建前,先创建它。

QMainWindow(主窗口)、QPlainTextEdit(文本框)、QPushButton(按钮)

window = QMainWindow()
window.resize(500, 400)//决定它的大小宽度500 高度400
window.move(300, 310)// 控制主窗口出现在显示器屏幕的什么位置 300决定宽 310决定高 距离屏幕右上角的距离
window.setWindowTitle('薪资统计')//窗口的标题
textEdit = QPlainTextEdit(window)//创建在window内
textEdit.setPlaceholderText("请输入薪资表")//提示文本
textEdit.move(10,25)//相对于父窗口的位置 除了标题框的位置
textEdit.resize(300,350)//设置文本框的大小
button = QPushButton('统计', window)//按钮标签以及父窗口
button.move(380,80)/相对于父窗口的位置 除了标题框的位置

QMainWindow、QPlainTextEdit、QPushButton 是3个控件类,分别对应界面的主窗口、文本框、按钮

他们都是控件基类对象QWidget的子类。

要在界面上 创建一个控件 ,就需要在程序代码中 创建 这个 控件对应类 的一个 实例对象。

window.show()//执行这个方法 窗口才能出来 表示要展示在界面上
app.exec_()//防止展示window.show()一闪而过就没了 等待用户的输入 这个程序是一个死循环 
界面动作处理 (signal 和 slot)

在 Qt 系统中, 当界面上一个控件被操作时,比如 被点击、被输入文本、被鼠标拖拽等, 就会发出 信号 ,英文叫 signal。就是表明一个事件(比如被点击、被输入文本)发生了。

我们可以预先在代码中指定 处理这个 signal 的函数,这个处理 signal 的函数 叫做 slot 。

定义一个函数

def handleCalc():
    //print('统计按钮被
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值