单击按钮时,如何在Tkinter中弹出一个弹出窗口?单击“关于”按钮后,我想要弹出一个免责声明+关于文本。
我试图设置一个def方法,但它一定是非常错误的,因为它没有按照我的意愿工作。非常感谢任何帮助。
谢谢
import sys
from Tkinter import *
def clickAbout():
name = ("Thanks for the click")
return
app = Tk()
app.title("SPIES")
app.geometry("500x300+200+200")
labelText = StringVar()
labelText.set ("Please browse to the directory you wish to scan")
labelText2 = StringVar()
labelText2.set ("About \n \n \
SPIES will search your chosen directory for photographs containing \n \
GPS information. SPIES will then plot the co-ordinates on Google \n \
maps so you can see where each photograph was taken.")
labelText3 = StringVar()
labelText3.set ("\n Disclaimer \n \n \
Simon's Portable iPhone Exif-extraction Software (SPIES) \n \
software was made by Simon. This software \n \
comes with no guarantee. Use at your own risk")
label1 = Label(app, textvariable=labelText, height=0, width=100)
label1.pack()
label1 = Label(app, textvariable=labelText2, height=0, width=100)
label1.pack()
label = Label(app, textvariable=labelText3, height=0, width=100)
label.pack()
b = Button(app, text="Quit", width=20, command=app.destroy)
b.pack(side='bottom',padx=0,pady=0)
button1 = Button(app, text="About SPIES", width=20, command=clickAbout)
button1.pack(side='bottom',padx=5,pady=5)
app.mainloop()
答案 0 :(得分:15)
如果要在新窗口中显示文本,请创建Toplevel窗口小部件,并将其用作about文本和免责声明的标签的父级。
顺便说一句,如果您有静态文本,则不需要Tkinter变量,因此在这种情况下,您可以简单地删除它们并用多行字符串替换它们:
import sys
from Tkinter import *
ABOUT_TEXT = """About
SPIES will search your chosen directory for photographs containing
GPS information. SPIES will then plot the co-ordinates on Google
maps so you can see where each photograph was taken."""
DISCLAIMER = """
Disclaimer
Simon's Portable iPhone Exif-extraction Software (SPIES)
software was made by Simon. This software
comes with no guarantee. Use at your own risk"""
def clickAbout():
toplevel = Toplevel()
label1 = Label(toplevel, text=ABOUT_TEXT, height=0, width=100)
label1.pack()
label2 = Label(toplevel, text=DISCLAIMER, height=0, width=100)
label2.pack()
app = Tk()
app.title("SPIES")
app.geometry("500x300+200+200")
label = Label(app, text="Please browse to the directory you wish to scan", height=0, width=100)
b = Button(app, text="Quit", width=20, command=app.destroy)
button1 = Button(app, text="About SPIES", width=20, command=clickAbout)
label.pack()
b.pack(side='bottom',padx=0,pady=0)
button1.pack(side='bottom',padx=5,pady=5)
app.mainloop()