如何使用Tkinter按钮从python运行exe

时间:2016-03-04 23:17:03

标签: python tkinter

我正在制作一个随机的网站生成器,我正在努力使它当你点击按钮生成链接时它也打开你的浏览器,但我在互联网上找到的一切都无法正常工作。 这是我的代码,我真的很感激一些帮助。

from tkinter import *
import random
import tkinter as tk
from tkinter import ttk
import os
NORM_FONT=("timesnewroman", 12)
root = Tk()
class Window(Frame):
    def showtxt(self):
        text=Label(self, text="Please change the file location after os.startfile to the directory of your browser including the browser exe itself")

    def openFile(self):
        os.startfile("C:\Program Files (x86)\Mozilla Firefox\firefox")



    def __init__(self, master=None):
        Frame.__init__(self, master)                 
        self.master = master
        self.init_window()


    def init_window(self):

        self.showtxt


        self.master.title("Random Website Generator")


        self.pack(fill=BOTH, expand=1)


        quitButton = Button(self, command = self.openFile, text="Generate URL", bg = "#009933")

        quitButton.configure(command = lambda: popupmsg ("Please check the shell or command prompt for the URL. And please change the file location after os.startfile to the directory of your browser including the browser .exe itself"))

        quitButton.bind('<ButtonRelease-1>', self.client_exit,)

        quitButton.place(x=150, y=130)

    def client_exit(self, event=None):
        File = open("Random Website.txt",).readlines()
        name=random.choice(File)[:-1]
        print (name)




def popupmsg(msg):
    popup = tk.Tk()
    popup.wm_title("Name Generator")
    label = ttk.Label(popup, text=msg, font=NORM_FONT)
    label.pack(side="top", fill="x", pady=10)
    B1 = ttk.Button(popup, text="OK", command = popup.destroy)
    B1.pack()
    popup.mainloop()






root.geometry("400x300")

app = Window(root)
root.mainloop()  

1 个答案:

答案 0 :(得分:2)

我想你的代码正在提升WindowsError: [Error 2] The system cannot find the file specified: 'C:\\Program Files\\Mozilla Firefox (x86)\x0cirefox'。请特别注意此错误中\x0c 假设\f

您需要转义文件路径中的反斜杠,否则您将无意中引用转义序列\f

os.startfile("C:\\Program Files (x86)\\Mozilla Firefox\\firefox")

或者,您可以使用raw string

os.startfile(r"C:\Program Files (x86)\Mozilla Firefox\firefox")