我一直在研究使用 Tkinter 从一个 Tkinter 软件打开 exe 文件。我的最终产品是一个 Windows 7 exe 文件,它运行从一个 Tkinter 软件转换为 exe 文件的所有 exe 文件。
我将从上到下解释我的代码这是我的 Tkinter 模板
from Tkinter import *
from PIL import Image, ImageTk
import os
class App:
def __init__(self, master):
self.frame = Frame(master)
我添加了一张图片给用户信息 如何使用该软件
img = Image.open("data.gif")
intro = ImageTk.PhotoImage(img)
right = Label(None, image=intro)
right.grid(row=0, column=0, columnspan=4)
right.image=intro
然后我将按钮添加到网格中,调用每个按钮 self.b 在堆栈溢出时真的让人们感到困惑。您将很快阅读评论。
self.b = Button(self.frame, bg="red", fg="white", font=("Helvetica", 14), text = ' \n confilextracter \n ', command = self.openFile1)
self.b.grid(row = 1, column=0)
self.b = Button(self.frame, bg="red", fg="white", font=("Helvetica", 14), text = ' \n confileditor \n ', command = self.openFile2)
self.b.grid(row = 1, column=1)
self.b = Button(self.frame, bg="red", fg="white", font=("Helvetica", 14), text = ' \n confilerehasher \n ', command = self.openFile3)
self.b.grid(row = 1, column=2)
self.b = Button(self.frame, bg="red", fg="white", font=("Helvetica", 14), text = ' \n Turn off the Shed \n ', command = self.openFile4)
self.b.grid(row = 1, column=3)
self.frame.grid()
接下来我不得不给按钮工作来执行,重命名 exe 文件真的让人们在堆栈溢出时感到困惑。对于那个很抱歉。
def openFile1(self):
os.startfile("confilextracter.exe")
def openFile2(self):
os.startfile("confileditor.exe")
def openFile3(self):
os.startfile("confilerehasher.exe")
我真的很想纠正最后一个按钮代码,因为我自己找到了答案,因为其他人都在忙着整理这段代码的所有其他部分,你很快就会看到。此时下一个按钮有错误。
def openFile4(self):
self.b.configure(command = self.b.destroy)
然后我关闭了文件
root = Tk()
app = App(root)
mainloop()