python GUI入门小工具开发,一键查询电脑配置、保持至数据库

news/2024/11/23 5:22:05/

python GUI入门小工具开发 用来练练手

效果图
在这里插入图片描述
1、创建一个界面 显示对应的系统配置信息
2、人工还是自动获取本机信息,这里采用的是人工点击获取
3、获取完配置信息后,点击提交并退出软件,数据之间插入至数据库。字段不够自己加就行了
import uuid
不废话直接上代码

#导入库import socket
import pymssql
from tkinter import *
from tkinter import messagebox
import datetime
from wmi import WMIclass Ip_Mac():def __init__(self):self.window = Tk()self.window.title('HOSTNAME_MAC_IP')  #定义窗口名称self.juzhong()      #设置一个窗口居中函数self.window.resizable(0,0)  #固定窗口大小self.over_time()        # 设置过期时间# 文本列表名self.lab1 = Label(self.window, text='赛亚名*:', font=('微软雅黑'),fg='red')  # 赛亚名self.lab2 = Label(self.window, text='MAC地址:', font=('微软雅黑'))  # MACself.lab3 = Label(self.window, text='IP地址:', font=('微软雅黑'))  # IP地址self.lab4 = Label(self.window, text='主机名:', font=('微软雅黑'))  # 主机名self.lab5 = Label(self.window, text='填好姓名一键获取配置信息\n点击"提交"即可', font=('微软雅黑'), fg='red')  # 标签self.lab6 = Label(self.window, text='抖音搜索"白嫖的IT知识"获取更多实用小工具', font=('微软雅黑'), fg='green')  # 标签self.lab7 = Label(self.window, text='CPU参数:', font=('微软雅黑'))  # CPU参数self.lab8 = Label(self.window, text='核心数:', font=('微软雅黑'))  # CPU参数self.lab9 = Label(self.window, text='内存1参数:', font=('微软雅黑'))  # 内存1参数self.lab10 = Label(self.window, text='内存2参数:', font=('微软雅黑'))  # 内存2参数self.lab11 = Label(self.window, text='内存1品牌:', font=('微软雅黑'))  # 内存1品牌self.lab12 = Label(self.window, text='内存2品牌:', font=('微软雅黑'))  # 内存2品牌self.lab13 = Label(self.window, text='硬盘1容量:', font=('微软雅黑'))  # 硬盘1self.lab14 = Label(self.window, text='硬盘2容量:', font=('微软雅黑'))  # 硬盘2self.lab15 = Label(self.window, text='显卡1参数:', font=('微软雅黑'))  # 显卡1参数self.lab16 = Label(self.window, text='显卡2参数:', font=('微软雅黑'))  # 显卡2参数#文本框self.entry_name = Entry(self.window, width=22)  #名称self.entry_mac = Entry(self.window, width=22)  # readonly状态不可编辑  MACself.entry_Ip = Entry(self.window, width=22)  # IPself.entry_host = Entry(self.window, width=22)  # 主机名self.entry_cpu = Entry(self.window, width=40)  # cpuself.entry_cpu_hx = Entry(self.window, width=7)  # CPU核心数self.entry_memory_pp1 = Entry(self.window, width=22)  # 内存1品牌self.entry_memory1 = Entry(self.window, width=22)  # 内存1self.entry_memory_pp2 = Entry(self.window, width=22)  # 内存1品牌self.entry_memory2 = Entry(self.window, width=22)  # 内存2self.entry_Disk1 = Entry(self.window, width=22)  # 硬盘1self.entry_Disk2 = Entry(self.window, width=22) # 硬盘2self.entry_video1 = Entry(self.window, width=22)self.entry_video2 = Entry(self.window, width=22)  # 显卡2参数# 按钮self.but3 = Button(self.window, text='提交', relief=RAISED, bg='yellow', font=('微软雅黑', '16', 'bold'),command=self.get_mac)  #点击提交 提交至数据库self.but4 = Button(self.window, text='一键获取本机配置信息', relief=RAISED, bg='yellow', font=('微软雅黑', '16', 'bold'),command=self.get_cpu)  #点击提交 提交至数据库def juzhong(self):width = 495height = 280self.window.geometry(f'{width}x{height}')   #设计的窗口大小#居中位置 计算屏幕的居中位置screen_width = self.window.winfo_screenwidth() / 2 - width / 2screen_height = self.window.winfo_screenheight() / 2 - height / 2self.window.geometry(f"+{int(screen_width)}+{int(screen_height)}") #偏移位置#设置过期时间def over_time(self):over_time = '2022-09-17'now_time = datetime.datetime.now().strftime('%Y-%m-%d')if now_time > over_time:messagebox.showerror('错误','已过期,抖音搜索"白嫖的IT知识"获取更新版')self.window.destroy()def get_mac(self):user_list = []insert_time = datetime.datetime.now()if self.entry_name.get() == '':messagebox.showerror('提示','赛亚名不能为空')else:name = self.entry_name.get()  #赛亚名# mac = uuid.UUID(int=uuid.getnode()).hex[-12:]  #MAC# self.entry_mac.insert(END,mac)# hostname = socket.gethostname()  #主机名# ip = socket.gethostbyname(hostname)  #IP地址#链接数据库 sql serverconn = pymssql.connect(host='',user='sc',password='',database='TestServer',charset='UTF-8')# 创建游标cursor = conn.cursor()select_info = "select * from py_ip_address"cursor.execute(select_info)result = cursor.fetchall()# print(result)for i in result:user_list.append(i[0])# print(i)if name in user_list:messagebox.showerror('错误', '赛亚名已存在')elif self.entry_Ip.get() == '':messagebox.showerror('错误', '未点击“一键获取本机配置信息”')else:# 写sqlinsert_sql = f"insert into py_ip_address(name,mac,hostname,IP,create_time) values ('{name}','{self.mac}','{self.hostname}','{self.ip}','{insert_time}')"print(insert_sql)# 执行sqlcursor.execute(insert_sql)# 提交数据conn.commit()messagebox.showinfo('提示','提交成功')self.window.destroy()            #关闭程序

http://www.ppmy.cn/news/401235.html

相关文章

计算机绘图电脑配置要求,【2人回答】CAD对电脑配置有什么要求?-3D溜溜网

AutoCAD 2017系统环境配置要求如下 1、操作系统 Microsoft Windows 10; Microsoft Windows 8.1;Microsoft Windows 7 SP1。 2、CPU 类型 1 千兆赫 (GHz) 或更高频率的 32 位 (x86) 或 64 位 (x64) 处理器。 3、内存 用于32 位 AutoCAD 2017 &#xff1…

恩兔NS-1刷ARMBIAN教程

简介 恩兔NS-1是一款基于海思Hi3798MV200的云盘产品,原厂app目前已无法使用,这款盒子比较奇葩的是居然内置了SATA接口,可谓市场上独一无二了。据大佬说是砍了USB3.0而换来的SATA,所以折腾起来异常坎坷,再次特别感谢稍息…

proxmox VE GPU显卡穿透

gpu穿透实际意义并不是很大(一块物理显卡同时只能提供给一个虚拟机使用),读者可做为参考资料,了解一下技术实现。在常规的办公环境下,需要使用高配置专业显卡的用户比例一般不会很高,一个简单可行的办法是:大部分人办公使用桌面虚拟化,而作图、做视频处理的少数用户,单…

局域网电脑资产搜集管理

局域网电脑硬件信息收集 (电脑硬件采集工具) 可以通过局域网采集电脑配置信息并集中到服务端。 最新版本已更新 链接:https://pan.baidu.com/s/1Xs4xHZkLqAdjD52dXKa0Mg 提取码:kolh 新版本功能更丰富,联系我获取最新版本。 …

remix os显卡linux,Remix OS 系统 PC版下载和评测 | Remix OS是什么系统_什么值得买

Remix OS 系统 PC版 体验记 2016-01-13 13:52:50 19点赞 95收藏 39评论 Remix OS,是一个能够在传统计算机上,为用户带来类似Windows的Android体验的软件。简单来说,它就是一个装在U盘里可以随声携带插上电脑就能用的安卓系统。1月12日刚刚开放下载,官网请戳Remix OS for PC…

KVM+显卡直通(passthrough)

方法一:. 硬件条件 首先要确定主板和CPU都支持VT-d技术,即Virtualization Technology for Direct I/O(英特尔虚拟技术)。近年的产品应该都支持此技术。 在BIOS里将 还要确定要直通的显卡支持PCI Pass-through。似乎A卡对于直通的…

查看计算机指令需要什么工具,最齐全的查看电脑配置指令集锦 查看电脑配置软件推荐【图文】...

大家都知道看电脑的好坏关键在配置,所以很多人在选择电脑的时候都会去了解配置问题,查看电脑配置可以通过指令或者软件等方法,具体指令有哪些,好用的软件有哪几款呢,我们来学习下: 查看电脑配置指令&#x…

电脑启动自动打开html文件,html文件怎么打开?电脑用浏览器打开html文件的方法...

电脑截图快捷键是什么?截屏快捷键的使用方法 电脑浏览网页或玩游戏,需要截取画面,这是一种常见的电脑操作。截图的方法有很多种,有什么方法不需要专门软件,就可以截屏的。方法当然有的,接下来小编和大家分享截屏快捷键…