首页 > 其他分享 >pytho案例

pytho案例

时间:2022-11-17 12:56:23浏览次数:45  
标签:widget pytho dept self QtWidgets 案例 add main

发邮件

2022年7月31日

14:37

 
import os
from openpyxl import load_workbook
import win32com.client as win32
wb = load_workbook("``邮件地址``.xlsx")
ws = wb.active
address = {}
for i in range(2, ws.max_row + 1):
  dept = ws["A" + str(i)].value
  to_add = ws["B" + str(i)].value
  cc_add = ws["C" + str(i)].value
  address[dept] = [to_add, cc_add]
 
 
def Send_mail(to_add, cc_add, file_path, dept):
  '''
  ``传入参数说明:
  to_add,``收件人地址
  cc_add,``抄送地址
  file_path,``附件路径
  dept,``部门名称
  '''
  outlook = win32.Dispatch('Outlook.Application')  # ``调用``windows outlook``应用
  mail = outlook.CreateItem(0)  # ``创建邮件
  mail.to = to_add  # ``收件人
  mail.cc = cc_add  # ``抄送人
  mail.Subject = "{}``年假情况``".format(dept)  # ``主题
  mail.Attachments.Add(file_path)  # ``添加附件。若有多个附件,则多调用几次即可
  mail.Body = '''Dear All,\n``这是``{}``的年假情况,请查收!谢谢。``\n\nBest regards!\n``人事部 小李``'''.format(dept) # ``正文内容
  mail.Send()  # ``发送邮件
 
# ``发送邮件到各部门
for dept in address.keys():
  to_add = address[dept][0]
  cc_add = address[dept][1]

file_path = os.getcwd() + '[\年假_按部门\年假情况_{}.xlsx'.format(dept)](file://年假_按部门/年假情况_{}.xlsx'.format(dept))

  Send_mail(to_add, cc_add, file_path, dept)
print("``邮件发送完成。``")

PyQt5 制作可视化界面

2022年7月31日

15:54

 
class MainGUI(QtWidgets.QMainWindow):
  '''
  ``文件目录框使用``QLineEdit()``、按钮使用``QPushButton()``、
  ``结果显示框使用``QListWidget()``,
  ``整体的布局使用``QGridLayout()
  '''
  #``设置用户界面
  def __init__(self):
    super().__init__() #``调用父类中``__init__``的函数
    self.setWindowTitle("``领料明细汇总``") #``设置窗口标题
    self.resize(800, 400) #``设置窗口大小,单位为像素
    self.main_widget = QtWidgets.QWidget() #``创建界面 ``   
    self.main_widget_layout = QtWidgets.QGridLayout() #``选取布局为网格布局(多行多列)
    self.main_widget.setLayout(self.main_widget_layout) #``设置布局
    #``设置部件
    self.input = QtWidgets.QLineEdit()#``文本编辑框``1
    self.input_btn = QtWidgets.QPushButton("``选择输入文件夹``") #``按钮``1``及名称
    self.output = QtWidgets.QLineEdit() #``文本编辑框``2
    self.output_btn = QtWidgets.QPushButton("``选择输出文件夹``")#``按钮``2``及名称
    self.show_result = QtWidgets.QListWidget() #``列表控件
    self.run = QtWidgets.QPushButton("``执行汇总``") #``按钮``3``及名称
    #``部件的位置设置
    self.main_widget_layout.addWidget(self.input, 0, 0, 1, 2) #``文本编辑框``1``放在第``1``行``1``列,占用``1``行``2``列
    self.main_widget_layout.addWidget(self.input_btn, 0, 2, 1, 1) #``按钮``1``放在第``1``行第``3``列,占用``1``行``1``列
    self.main_widget_layout.addWidget(self.output, 1, 0, 1, 2)
    self.main_widget_layout.addWidget(self.output_btn, 1, 2, 1, 1)
    self.main_widget_layout.addWidget(self.run, 2, 2, 1, 1)
    self.main_widget_layout.addWidget(self.show_result, 3, 0, 3, 3)
    self.setCentralWidget(self.main_widget) #``设置``QMainWindow``的中心窗口
        
    self.input_btn.clicked.connect(self.Choice_dir_input) #``将``"``选择输入文件夹``"``按钮绑定``Choice_dir_input``函数
    self.output_btn.clicked.connect(self.Choice_dir_output) #``将``"``选择输出文件夹``"``按钮绑定``Choice_dir_output``函数
    self.run.clicked.connect(self.Summary_data) #“``执行汇总``”``按钮绑定``Summary_data``函数
 
def main():
  app = QtWidgets.QApplication(sys.argv) #[``固定写法``]``实例化应用,``sys.argv``是一个从程序外部获取参数的桥梁
  app.setWindowIcon(QIcon("PO.ico"))#``设置界面左上角图标
  gui = MainGUI() #[``固定写法``]``调用``MainGUI``类
  gui.show() #[``固定写法``]``显示窗口
  sys.exit(app.exec_()) #[``固定写法``]``调用``exec_()``方法运行程序。``sys.exit()``用于程序的正常退出

小病毒制作

2022年7月31日

18:46

img

img

img

img

img

img

标签:widget,pytho,dept,self,QtWidgets,案例,add,main
From: https://www.cnblogs.com/xiaofubase/p/16899110.html

相关文章

  • Python删除文件多种方法详解!
    在开发过程中,创建文件之后当我们不需要这个文件或者创建错了就需要删除该文件,那么Python中删除文件的方法有几种?使用Python删除文件有多种方法,本文为大家介绍几种常用......
  • python神经网络编程2之用python搭建神经网络
    【python基础】环境:JupyterNotebookforninrange(10):print(n)pass#标志循环结束,下一行回正常缩进,done只打印一次我也可以删掉orzprint("done") ......
  • python读取文件列表修改txt内容
        importosfilePath='img'path2=r'/config/FHY_gps.txt'path3=r'/config/FHY_gps_new.txt'name=os.listdir(filePath)name.sort(key=lambdax......
  • python 子类调用父类中的init
    背景在定义完父类后,子类继承父类后,又想有自己的__init__方法方法在子类的__init__方法中调一下父类的___init__方法代码classTest1:def__init__(self):......
  • 聚水潭对接金蝶云星空案例
    01系统说明:聚水潭:是由上海聚水潭网络科技有限公司基于SaaS模式开发的商家ERP软件系统,公司创始团队聚集了一群来自阿里、麦包包等知名企业的技术、仓管、市场营销精英,具有......
  • 工-python注解
    1、无参数和带参数defspamrun(fn):defsayspam(*args):print("spam,spam,spam")fn(*args)returnsayspam@spamrundefuseful(a,b):......
  • python中networkx学习(1)边和点
    importnetworkxasnxfrommatplotlibimportpyplotaspltG=nx.Graph(abb="pythondemo")#创建一个空图print(nx.Graph)#添加节点G.add_node("python")#生成一个以......
  • PYTHON_循环
    分模块积累,此模块为【循环】。1. 有四个数字1、2、3、4,能组成多少个互不相同且无重复的三位数,各是多少?'''初始化'''cnt=0'''循环判断获得无重复三位数'''foriinr......
  • 五、国网信通数据中台案例
    在互联网时代,企业需要快速响应、挖掘、引领用户需求,此时,借助平台的力量是企业生存、发展的关键因素。多年以来,不少企业已经建立了“前台+后台”的平台化架构。 前台是企......
  • SQL优化案例4(肇庆某项目)
    泽就找我优化条SQL,反馈执行时间很慢需要1分钟才能出结果,然后安排!--原SQLselecthiber.dmcod                             ......