您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么在Python中使用tkinter和exe打包,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
界面如下:
class Application(tk.Frame): def __init__(self, master=None): tk.Frame.__init__(self, master) self.pack() self.createWidgets() def __del__(self): print('del tianyanche') root.destroy def createWidgets(self): self.labelDest = tk.Label(self) self.labelDest["text"] = '來源路徑:' self.labelDest.grid(row=0, column=0) self.contentDest = tk.StringVar() self.contentDest.set('./work/all.txt') self.entryDest = tk.Entry(self) self.entryDest["textvariable"] = self.contentDest self.entryDest.grid(row=0, column=1) self.labelSuc = tk.Label(self) self.labelSuc["text"] = '成功路徑:' self.labelSuc.grid(row=1, column=0) self.contentSuc = tk.StringVar() self.contentSuc.set('./work/suc.txt') #設置界面的默認值 self.entrySuc = tk.Entry(self) self.entrySuc["textvariable"] = self.contentSuc self.entrySuc.grid(row=1, column=1) self.labelFail = tk.Label(self) self.labelFail["text"] = '失敗路徑:' #設置界面的默認值 self.labelFail.grid(row=2, column=0) self.contentFail = tk.StringVar() self.contentFail.set('./work/fail.txt') #設置界面的默認值 self.entryFail = tk.Entry(self) self.entryFail["textvariable"] = self.contentFail self.entryFail.grid(row=2, column=1) self.buttonStart = tk.Button(self, text = '開始') self.buttonStart['command'] = self.start self.buttonStart['fg'] = 'green' self.buttonStart.grid(row=3, column=0) self.quit = tk.Button(self, text="停止", fg="red", command=self.quit) self.quit.grid(row=3, column=1) self.text = ScrolledText(self) self.text.grid(row=4, columnspan=2) def start(self): self.running = True self.text.insert('end', '來源:' + self.contentDest.get() + "\r\n") self.text.insert('end', '成功:' + self.contentSuc.get() + "\r\n") self.text.insert('end', '失敗:' + self.contentFail.get() + "\r\n") self.tianyancha = TianYanCha.TianYanCha(self.contentSuc.get(), self.contentFail.get()) self.tianyancha.setOutput(self.text) self.td = threading.Thread(target=self.startThread) self.td.setDaemon(True) self.td.start() def quit(self): self.running = False del self.tianyancha print('quit') def startThread(self): self.text.delete(0.0, 'end') file = open(self.contentDest.get()) for line in file.readlines(): if self.running == True: self.tianyancha.getCompanyByName(line.strip('\n')) else: print('停止') break;
以上就是界面部分,效果如下圖所示:
##exe打包
Python的常用exe打包有:PyInstaller、py2exe等。我直接選擇了PyInstaller。
PyInstaller安裝:pip install PyInstaller。目前的最新版本3.2。
PyInstaller打包命令:pyinstaller -F -i snail.ico Application.py。
命令釋義:
| 參數|含義|
| :-------------: |:-------------|
|-F|指定打包后只生成一個exe格式的文件|
|-D|–onedir 創建一個目錄,包含exe文件,但會依賴很多文件(默認選項)|
|-c|–console, –nowindowed 使用控制臺,無界面(默認)|
|-w|–windowed, –noconsole 使用窗口,無控制臺|
|-p|添加搜索路徑,讓其找到對應的庫|
|-i|改變生成程序的icon圖標|
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
以上就是怎么在Python中使用tkinter和exe打包,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。