python來寫GUI

最簡單的就用tkinter,裏面的button按鈕,label輸入框,entry輸入內容。

再用pyinstaller打包成exe,就可以做軟件了。

每10s截圖的軟件。

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
from tkinter import *
from PIL import ImageGrab
import datetime
import time
import os
from ftplib import FTP
root = Tk()

def helloButton(text_s):
    while True:
        now = datetime.datetime.now()
        cut_time = now.strftime('%y-%m-%d %H-%M-%S')
        pic = ImageGrab.grab()
        pic.save(r"cut/CUT%s.jpg" % cut_time, 'jpeg')
        result=ftpUpload(text_s)
        print(result)
        if result==1:
            os.remove(result)
        if result==0:
            l_msg['text'] = '請聯繫管理員新建文件夾!'
            break
        time.sleep(5)

# 按扭調用的函數,
def ftpUpload(text_s):
    #ftp登陸連接
    ftp = FTP()  # 設置變量
    ftp.set_debuglevel(2)  # 打開調試級別2,顯示詳細信息
    ftp.connect(ip, port)  # 連接的ftp sever和端口
    ftp.login('orange','zhangyuchen')

    print(ftp.getwelcome())  # 打印出歡迎信息
    bufsize = 8000  # 設置的緩衝區大小
    ftplist = ftp.nlst()
    filename = os.listdir(r'C:\Users\123456\Desktop\cut')[0]
    filepath=r'C:\Users\123456\Desktop\cut/'+filename
    if text_s in ftplist:
        file_handle = open(filepath, "rb")  # 以寫模式在本地打開文件
        ftp.cwd(text_s)  # 進入遠程目錄
        ftp.storbinary("STOR " + filename, file_handle, bufsize)  # 接收服務器上文件並寫入本地文件
        ftp.set_debuglevel(0)  # 關閉調試模式
        ftp.quit()  # 退出ftp
        return filepath
    else:
        ftp.set_debuglevel(0)  # 關閉調試模式
        ftp.quit()  # 退出ftp
        return 0

def reg():
    text_s = e_s.get()
    len_s=len(text_s)
    l_msg['text'] = '開始截圖'
    helloButton(text_s)

# 第一行,用戶名標籤及輸入框
s = Label(root, text='姓名:')
s.grid(row=0, sticky=W)
e_s = Entry(root)
e_s.grid(row=0, column=1, sticky=E)

# 第三行登陸按扭,command綁定事件
b_login = Button(root, text='開始', command=reg)
b_login.grid(row=1, column=1, sticky=E)

# 登陸是否成功提示
l_msg = Label(root, text='')
l_msg.grid(row=3)

root.mainloop()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章