一、现在的电脑都普遍支持有线网络的WOL了,需要唤醒的电脑上进行主板设置即可
二、Python中安装wakeonlan库
pip install wakeonlan
关于库的说明可参考文档说明https://www.cnpython.com/pypi/wakeonlan
三、代码部分
from wakeonlan import send_magic_packet
from PySide2.QtWidgets import QApplication
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile
from PySide2.QtGui import *
class Stats: #定义类
def __init__(self): #导入UI窗口
#从文件中加载UI界面
qfle_stats=QFile('唤醒.ui') #导入UI界面固定写法
qfle_stats.open(QFile.ReadOnly) #导入UI界面固定写法
qfle_stats.close() #导入UI界面固定写法
self.ui=QUiLoader().load(qfle_stats) #定义窗口
self.ui.model = QStandardItemModel(3, 2) #二维表格数据实例 3行2列
self.ui.model.setHorizontalHeaderLabels(['电脑名称', 'MAC地址'])
item1 = QStandardItem('电脑1')
item2 = QStandardItem('4C.C2.6A.B7.53.61')
item3 = QStandardItem('电脑2')
item11 = QStandardItem('B8.92.5A.56.61.06')
item22 = QStandardItem('电脑3')
item33 = QStandardItem('1C.1B.06.F2.92.9B')
# 设置每个位置的文本值
self.ui.model.setItem(0, 0, item1)
self.ui.model.setItem(0, 1, item2)
self.ui.model.setItem(1, 0, item3)
self.ui.model.setItem(1, 1, item11)
self.ui.model.setItem(2, 0, item22)
self.ui.model.setItem(2, 1, item33)
self.ui.tableView.setModel(self.ui.model) #表格连接数据
self.ui.pushButton.clicked.connect(self.huanxin) #按纽点击函数 BUtton要与界面中的按纽名字一致
self.ui.tableView.clicked.connect(self.table_left_click) #单击表格信table_left_click为ui预定义函数
def table_left_click(self,item): #ui右键单击的预定义信号item为我们点击的单元格
self.ui.label_2.setText('') #状态为空
行标=item.row() #获取行标
列标=item.column()#获取列标
mac=self.ui.model.item(行标,列标).text() #获取实列数据中的坐标数据
self.ui.lineEdit.setText(mac) #显示到单列表框中
def huanxin(self): #视频解析
mac = self.ui.lineEdit.text() #获取MAC地址
send_magic_packet(mac) #唤醒代码
print('发送成功')
self.ui.label_2.setText('发送成功稍等电脑开机')
if "__main__" == __name__:
app = QApplication([])
Stats = Stats()
Stats.ui.show()
app.exec_()
注:唤醒.ui为designer制作的界面ui
效果如下图:
UI设计界面: