前言

之前一直在开发B/S架构的web应用,虽然web应用无需额外安装,但是browser客户端对客户端本机的硬件设备(摄像头、蓝牙设备、打印机、串口...)进行操作。

如果Python和JavaScript之间的函数可以相互调用就好了,Python+JavaScript融合起来的Client肯定会更加强大。

 

PyQt5概述

Gui:Graphical User Interface又称图形用户接口。也就是我们俗称的桌面应用

Qt :一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架,支持Windows、Linux、MacOs。

PyQt5:使用Python对C++的Qt库的重新实现,由于最新Qt版本是5.11所以我们习惯称PyQt为PyQt5。

 

安装PyQt5

pip install PyQt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

 

安装pyqt5-tools

安装完pyqt5-tools之后就可以使用desinger了。desinger是一款图形化的UI组织工具。

pip install pyqt5-tools -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

desinger.exe路径

D:\Python3.6.1\Lib\site-packages\pyqt5_tools\Qt\bin\desinger.exe

 配置desinger.exe

 PyQt5(Python GUI图形化用户接口) 

 

PyQt5程序的基本结构

0.导入相关模块

1.创建1个应用程序对象和1个Window窗口

2.开始在Windows中添加控件、设置控件展示样式、设置控件的信号和槽。

3.sys.exit(app.exec_()) 进入事件循环监听

 

from PyQt5.Qt import *
import  sys

app=QApplication(sys.argv)
#创建1个window
window=QWidget()
#设置这个window的标题
window.setWindowTitle("PyQt5初体验")
#设置window的大小
window.resize(500,500)
#设置把该window 放在桌面的位置
window.move(400,200)


#在window中创建1个lable标签
label=QLabel(window)
label.setText("Hello Martion")
label.resize(100,200)
label.move(200,200)

#显示窗口
window.show()

#进入消息循环模式
sys.exit(app.exec_())

 

控件是什么? 

把不同的控件绘制在桌面上就是我们看到的桌面应用,控件接受和响应各种事件(鼠标、键盘)和用户进行交互。 

控件就相当于前端的HTML标签,不同的标签有相同的属性也有自身独有的特性,是组织GUI界面的最小单位。

每个控件都是矩形的,他们按Z轴排序(叠加)显示

控件会被父控件和前面的控件剪切。

没有父控件的控件称之为窗口(windown/顶层控件)。

 

PyQt5的顶层和子控件

和HTML标签类似PyQt5中的控件也是有层级结构的。

顶层控件:作为1个窗口进行显示、做为容器承载其他控件。

子控件:在父级控件之内,作为父级控件的一部分。

from PyQt5.Qt import *
import  sys

app=QApplication(sys.argv)
#创建1个window顶层控件
window=QWidget()
#设置这个window顶层控件的标题
window.setWindowTitle("我是父级控件")
#设置window顶层控件的大小
window.resize(500,500)
#设置把该window顶层控件放在桌面的位置
window.move(400,200)


#在顶层控件中创建1个lable子级标签(继承window标签)
label=QLabel(window)
label.setText("我是子控件")
#设置子标签的大小
label.resize(100,200)
#设置把该lable标签放在顶层控件的位置
label.move(100,200)
#显示顶层控件之后,子控件也跟随显示。
window.show()
#进入消息循环模式
sys.exit(app.exec_())
控件嵌套

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2021-09-12
  • 2021-06-15
  • 2021-10-07
  • 2022-12-23
猜你喜欢
  • 2021-05-29
  • 2022-12-23
  • 2021-05-12
  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案