利⽤Python3开发⼀款⼩⼯具(界⾯的设计)
前⾯在《利⽤Python3开发⼀款⼩⼯具(引⾔)》⽂章中,对我们的需求进⾏了分析。为了能够让⽤户运⾏该⼯具,因此我们需要⼀个ui界⾯,⽽python中常⽤的⼯具就是pyqt,本⽂将使⽤pyqt5对⼩⼯具的界⾯进⾏设计。
十字滑块联轴器简图笔者只学过⼀年的素描,没有任何设计与美⼯的功底,既然该⼩⼯具只是给部门同事⽤的,那就没必要那么讲究了,只要⽅便好⽤就⾏,哈哈哈~~(第⼀次把不会做说得这么清新脱俗)。
本⽂包含以下章节
1、简单的⼩栗⼦
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
import sys
import paramiko
from PyQt5 import QtCore, QtGui, QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MyUI = QtWidgets.QWidget()
MyUI.setWindowsTitle('demo')
MyUI.show()
<_())
上⾯的图就是运⾏之后的⼩窗⼝,下⾯对代码进⾏分块介绍:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
第⼀⾏的含义是指定python3执⾏,第⼆⾏指定编码⽅式utf-8
import os
import sys
import paramiko
from PyQt5 import QtCore, QtGui, QtWidgets
这⾥是导⼊基本的必要模块,因为需要做界⾯,因此我我们将PyQt模块导⼊。
app = QtWidgets.QApplication(sys.argv)
所有的PyQt5应⽤必须创建⼀个应⽤(Application)对象。sys.argv参数是⼀个来⾃命令⾏的参数列表。Python脚本可以在shell中运⾏。这是我们⽤来控制我们应⽤启动的⼀种⽅法。
MyUI = QtWidgets.QWidget()
Qwidget组件是PyQt5中所有⽤户界⾯类的基础类。这⾥给QWidget提供了默认的构造⽅法。
MyUI.setWindowsTitle('demo')
resize()⽅法调整了widget组件的⼤⼩。它现在是250px宽,150px⾼。
setWindowsTitle(‘demo’)设置了我们窗⼝的标题,这个标题显⽰在标题栏中。
MyUI.show()
show()⽅法在屏幕上显⽰出widget。⼀个widget对象在这⾥第⼀次被在内存中创建,并且之后在屏幕上显⽰。
<_())
最后,应⽤进⼊主循环。在这个地⽅,事件处理开始执⾏。主循环⽤于接收来⾃窗⼝触发的事件,并且转发他们到widget应⽤上处理。如果我们调⽤exit()⽅法或主widget组件被销毁,主循环将退出。it()⽅法确保⼀个不留垃圾的退出。系统环境将会被通知应⽤是怎样被结束的。
exec_()⽅法有⼀个下划线。因为exec是Python保留关键字。因此,⽤exec_()来代替。
2、我们的界⾯
很多时候界⾯⾮常的复杂,我们单纯的使⽤代码⽣成,费时费⼒,那有没有⼀个简单直观的⽅式构造⼀个界⾯呢?
当然是有的,还记得开发环境搭建那⼀章节吧,我们在pycharm⾥添加了⼀个扩展⼯具qt designer。我们在这⾥就要⽤到qt designer来设计我们的界⾯。
2.1、界⾯规划
⽤户设置部分
涉及到windows代码上传到Linux中,必然包含了Linux服务器地址、⽤户名、密码、远程⽬录名、本地⼯程路径等。这⾥都放在⽤户设置部分。
命令勾选部分
单片机编程入门基础知识书籍
因为⼩⼯具上传完代码后,需要根据我们勾选的命令,执⾏不同版本的编译。⽽且不同的编译命令,需要在不同的服务器上执⾏,这也是后续代码处理中折磨我好久的东西。不得不吐槽⼀下配置管理员,两个东西放在同⼀个服务器上编译很难吗,摔碗~~~~
运⾏⽇志查看部分
运⾏中肯定是要⽇志的吗,不论你看或者不看,它都在那⾥,不增不减。⽽且万⼀出错了,这⾥也要能够打印出trace⽇志,不然没有⽇志让我定位,⾂妾做不到啊。
三相电机出来6根线怎么接2.2、界⾯规设(luan)计(hua)
没有任何美⼯基础的⼈,是没有发⾔权的,我们的⽬标是:没有蛀⽛。不不不,是能够简单实⽤就ok。所以,界⾯设计成了下⾯的样⼦。设计步骤:
pycharm-tools-extension tools- qt designer
尽情的乱画吧
下⾯是我⾃⼰做的界⾯,部分信息做了处理
3、如何让⼩⼯具显⽰图标
先扔出代码python在线编辑器python3
class Ui_L3AutoCodeCheck(QtWidgets.QMainWindow):
def__init__(self):
super(Ui_L3AutoCodeCheck, self).__init__()
***省略*****
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("python.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.setWindowIcon(QtGui.QIcon(':python.ico'))
***省略****
重点关注这⾥的代码,将本地的ico图形⽂件关联到⼯具中,这⾥需要⽤到extension tools中的pyrcc将ico的⽂件转换py⽂件。
建⽴img.qry⽂件织梦搜索框代码
<!DOCTYPE RCC>
<RCC>
truncate表会删除索引吗
<qresource>
<file alias="python.ico">python.ico</file>
</qresource>
</RCC>
qt designer中将图⽚添加到resource中
pyrcc⽣成py⽂件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。