PyQt 小程序

在这里插入图片描述

设备管理程序 v0.0.1.0, 终于出了一个基础版本,… …

两个字典的键值判断

在这里插入图片描述

辛亏用的是Python 这个编码时间大大缩短了

对已有的命令行进行GUI 化

from typing import Optional
import PySide6.QtCore
import PySide6.QtWidgets
from cmd_ui import Ui_MainWindow
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
import sys
from paramiko import *
import timedef Except(func):def WARRPER(self):try:func(self)except:QMessageBox.information(self,"Except","exec error")return WARRPERclass MainWindow(QMainWindow):def __init__(self, parent=None) -> None:super().__init__(parent)self.ui = Ui_MainWindow()self.ui.setupUi(self)self.ui.Get.clicked.connect(self.link)self.log=self.ui.textBrowser.appendself.ui.cmd_1.clicked.connect(self.cmd1)self.ui.cmd_2.clicked.connect(self.cmd2)self.ui.cmd_3.clicked.connect(self.cmd3)self.ui.cmd_4.clicked.connect(self.cmd4)self.ui.cmd_5.clicked.connect(self.cmd5)@Exceptdef link(self):self.ui.List1.clear()self.ui.List2.clear()self.ui.List3.clear()self.ui.List4.clear()self.ui.List5.clear()self.__ssh__=SSHClient()self.__ssh__.set_missing_host_key_policy(AutoAddPolicy())self.__ssh__.connect(hostname=self.ui.ip.text(),port=22,username="root",password="root")stdin,stdout,stderr = self.__ssh__.exec_command("source /etc/profile && fun -h")res=list(map(lambda x: x.replace('\r', ''),stdout.read().decode().split('\n')))self.log(stderr.read().decode())Res=res[1:-2]self.ui.List1.addItems(Res)self.ui.List2.addItems(Res)self.ui.List3.addItems(Res)self.ui.List4.addItems(Res)self.ui.List5.addItems(Res)print(Res)def ShowLog(self,cmd,msg):self.log("[ %-8s ] %s: %s"%(time.strftime("%Y%m%d %H:%M:%S",time.localtime()),cmd,msg))@Exceptdef cmd1(self):CMD="source /etc/profile && fun %s %s"%(self.ui.List1.currentText(),self.ui.cmd_one.text())stdin,stdout,stderr=self.__ssh__.exec_command(CMD)self.ShowLog(self.ui.List1.currentText(),stdout.read().decode())self.ShowLog(self.ui.List1.currentText(),stderr.read().decode())@Exceptdef cmd2(self):stdin,stdout,stderr=self.__ssh__.exec_command("source /etc/profile && fun %s %s"%(self.ui.List2.currentText(),self.ui.cmd_two.text()))self.ShowLog(self.ui.List2.currentText(),stdout.read().decode())self.ShowLog(self.ui.List2.currentText(),stderr.read().decode())@Exceptdef cmd3(self):stdin,stdout,stderr=self.__ssh__.exec_command("source /etc/profile && fun %s %s"%(self.ui.List3.currentText(),self.ui.cmd_three.text()))self.ShowLog(self.ui.List3.currentText(),stdout.read().decode())self.ShowLog(self.ui.List3.currentText(),stderr.read().decode())@Exceptdef cmd4(self):stdin,stdout,stderr=self.__ssh__.exec_command("source /etc/profile && fun %s %s\r\n"%(self.ui.List4.currentText(),self.ui.cmd_four.text()))self.ShowLog(self.ui.List4.currentText(),stdout.read().decode())self.ShowLog(self.ui.List4.currentText(),stderr.read().decode())@Exceptdef cmd5(self):stdin,stdout,stderr=self.__ssh__.exec_command("source /etc/profile && fun %s %s"%(self.ui.List5.currentText(),self.ui.cmd_five.text()))self.ShowLog(self.ui.List5.currentText(),stdout.read().decode())self.ShowLog(self.ui.List5.currentText(),stderr.read().decode())if __name__ == "__main__":app=QApplication(sys.argv)w=MainWindow()w.show()app.exit(app.exec())

在这里插入图片描述

调试命令行的简易GUI化,面向工程人员

一套工具集,面向监控,和维护人员的使用

连上板卡测试,主题功能已没有问题 V0.0.1.2

在这里插入图片描述

这套工具的数据库于板卡保存的数据库完全一致,互为备份,设备的参数备份有一个保障

之后会在网管参数专有页面进行配置,一设备IP和编号和修改时间作为数据库修改的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/162644.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊测评关于IP和DNS的问题

最近不少人询问了关于IP和DNS的问题,在此进行一些科普。 当客户端试图访问一个网站时,首先会向其所在的ISP的DNS服务器进行查询。如果ISP的DNS服务器没有相关缓存,则会向上级DNS服务器进行查询。 一些诸如CDN之类的服务,可能会为…

uni-app小程序使用DCloud(插件市场)流程

一、DCloud(插件市场) DCloud 是uni-app官方插件市场,里面有官方、团队、个人发布的众多插件,包括uni-ui、uni-pay 等。而像uni-ui这种大型组件库都有官方文档可参考,但一些团队或个人发布的小型插件没有文档&#xf…

STM32-LCD液晶显示

LCD液晶显示 针对野火指南者配套资料:3.2寸 LCD电阻屏,屏幕里自带ILI9341液晶控制器芯片,该控制器芯片中存在GRAM(即显存)。该液晶控制器使用8080接口与单片机通讯,液晶面板引出来的FPC信号线为8080接口&am…

LeetCode算法刷题(python) Day42|09动态规划|62.不同路径、63. 不同路径 II

目录 LeetCode 62. 不同路径LeetCode 63. 不同路径II LeetCode 62. 不同路径 力扣题目链接 class Solution:def uniquePaths(self, m: int, n: int) -> int:dp [[1] * n for _ in range(m)]for j in range(n):for i in range(m):if i 0 and j > 0:dp[i][j] dp[i][j-1…

【vue2高德地图api】02-npm引入插件,在页面中展示效果

系列文章目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、安装高德地图二、在main.js中配置需要配置2个key值以及1个密钥 三、在页面中使用3.1 新建路由3.2新建vue页面3.2-1 index.vue3.2…

css 好看的边框

1、把图片作为边框 border:10px solid transparent;border-image:url(./assets/images/login_bg.png) 30 round;2、斜线边框 斜线边框可以给页面元素增加一份生动感。可以使用linear-gradient()函数来设置。 .box{position:relative;border-top:4px solid #667db6;border-bot…

网工记背命令(6)----链路聚合配置

目录 1.配置手工负载分担模式链路聚合 2.配置LACP模式的链路聚合 3.HUAWEI设备与C厂商设备对接 链路聚合(Link Aggregation)是将多条物理链路捆绑在一起成为一条逻辑链路,从而增加链路带 宽的技术。 常用配置命令 1、执行命令 interface …

QTday02(常用类、UI界面下的开发、信号与槽)

今日任务 1. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"&#x…

网页构造与源代码

下载google浏览器 设置打开特定网址:www.baidu.com 查看网页或元素源代码 网页右键选择“检查”查看源代码 网页源代码 元素源代码

Vue3响应式原理初探

vue3响应式原理初探 为什么要使用proxy取代defineProperty使用proxy如何完成依赖收集呢? 为什么要使用proxy取代defineProperty 原因1:defineproperty无法检测到原本不存在的属性。打个🌰 new Vue({data(){return {name:wxs,age:25}}})在vue…

uni-app通过 vuedraggable 创建上下拖动排序组件

我们右键项目 选择 使用命令行窗口打开所在目录 然后 在终端中输入 npm install vuedraggable --save导入 vuedraggable 然后组件编写代码如下 <template><view class"container"><draggable v-model"list" :options"dragOptions&…

Ubuntu 环境配置 Minecraft 基岩版服务器

文章目录 Part 1 搭建服务器Part 2 配置服务器Part 3 管理服务器一、手动备份服务器二、手动恢复服务器备份三、升级服务器 Part 1 搭建服务器 更新软件包信息 sudo apt-get update sudo apt-get upgrade安装所需工具 sudo apt-get vim sudo apt-get install zip sudo apt-g…

训练ChatGPT提示词,实现Excel函数操作

Excel常用表格数据处理都会离不开函数的应用。 在数据处理,数据汇总,数据展示的过程中经常需要各类函数的使用如Vlookup,Sumifs,IF 等。 例如有一份数据我们想根据销售经理的名字,查找对应的销售额。 我们先简单描述一下我们的需求: 帮我写个Excel函数,要求查找出任意销…

ffmpeg+安卓+yolo+RK3399部署

一次满足多项需求. 首先, 思路是, 使用ffmpeg解码本地mp4文件, 在无需任何其他改动的情况下, 就可以直接播放rtsp流, 这个是使用ffmpeg的好处. ffmpeg本身是c语言的, 所以需要编译成jni的库, https://note.youdao.com/s/6XeYftc 具体过程在这里, 用windows/macOS, Ubuntu应该都…

AWD学习总结 (会持续更新)

防御 一、登录ssh服务器 所有人都要登上去。这里以我自己的服务器为例子。一般使用默认的ssh登录方式&#xff0c;我个人服务器ip是120.46.41.173使用工具是xshell与xftp。 点击新建连接。 输入ip。默认ssh端口22不用改就能连接。 然后点击侧边栏&#xff0c;输入账号密码登…

一步一步分析ChatGPT,1 粘性,2 传染性, 3 双边网络效应

请按照以下三个维度一步一步分析ChatGPT&#xff0c;1 粘性&#xff0c;2 传染性&#xff0c; 3 双边网络效应&#xff0c;比如亚马逊的买家和商家的关系 ChatGPT的分析 1.1. 粘性 (Stickiness) 定义&#xff1a; 粘性是指产品或服务对用户的吸引力&#xff0c;即用户在使用…

uniapp-vue3-微信小程序-按钮组wo-btn-group

采用uniapp-vue3实现, 是一款支持高度自定义的按钮组组件&#xff0c;支持H5、微信小程序&#xff08;其他小程序未测试过&#xff0c;可自行尝试&#xff09; 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id15012 使用示例 <template><vie…

CCF CSP认证 历年题目自练Day35

题目一 试题编号&#xff1a; 202305-1 试题名称&#xff1a; 重复局面 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 问题描述&#xff1a; 题目背景 国际象棋在对局时&#xff0c;同一局面连续或间断出现3次或3次以上&#xff0c;可由任意一方提出和棋。 问题…

GEO生信数据挖掘(八)富集分析(GO 、KEGG、 GSEA 打包带走)

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 本节对差异基因进行富集分析。 …

MySQL 8.0 OCP认证精讲视频、环境和题库之五 事务、缓存

redo log buffer&#xff1a; 缓存与事务有关的redo log ,用来对mysql进行crash恢复&#xff0c;不可禁用&#xff1b; 日志缓冲区是存储要写入磁盘上日志文件的数据的内存区域。日志缓冲区大小由innodb_Log_buffer_size变量定义。 默认大小为16MB。日志缓冲区的内容会定…