如何在选项菜单中添加 YouTube link?
how to add a YouTube link in option menu?
有人知道如何在此代码中添加 YouTube link 吗?
这样一来,如果您按下某个选项,Python 会将您转到 YouTube 页面。
这是代码:
#IMPORT
import tkinter
import webbrowser
#END IMPORT
root = tkinter.Tk()
root.title("welcome to this page")
root.geometry('700x500')
option_list = ["meme", "meme", "meme", "meme"]
value_inside = tkinter.StringVar(root)
value_inside.set("select an Option: ")
question_menu = tkinter.OptionMenu(root, value_inside, *option_list)
question_menu.pack()
def print_answers():
print("Select Option: {}".format(value_inside.get()))
return None
submit_button = tkinter.Button(root, text='submit', command=print_answers)
submit_button.pack()
root.mainloop()
在 Stack Overflow 上搜索一番后,我终于弄明白了:在创建 OptionMenu
时需要将 print_answers
传递给 command
关键字参数。每次用户从菜单中选择一个选项时都会调用 print_answers
。
要打开 url,只需使用 webbrowser.open()
。这是 print_answer()
的样子:
def print_answer(selected_option):
webbrowser.open(value_inside.get())
(我们将在答案末尾详细讨论 selected_option
参数)
完整代码:
#IMPORT
import tkinter
import webbrowser
#END IMPORT
root = tkinter.Tk()
root.title("welcome to this page")
root.geometry('700x500')
option_list = ["meme", "meme", "meme", "meme"]
value_inside = tkinter.StringVar(root)
value_inside.set("select an Option: ")
def print_answers(selected_option):
webbrowser.open(value_inside.get())
question_menu = tkinter.OptionMenu(root, value_inside, *option_list, command=print_answers)
question_menu.pack()
submit_button = tkinter.Button(root, text='submit', command=print_answers)
submit_button.pack()
root.mainloop()
只需将 print_answers
传递给 command
参数即可在选择一个选项时调用它。真希望我早知道!
使用 value_inside
变量的替代方法:OptionMenu
已经将所选项目作为参数传递给它的命令函数(这是我之前提到的 selected_option
参数;你可以使用任何东西代替 selected_option
,因为它是一个位置参数)。所以,你可以完全忘记 value_inside
并这样做:
def print_answer(selected_option):
webbrowser.open(selected_option)
有人知道如何在此代码中添加 YouTube link 吗? 这样一来,如果您按下某个选项,Python 会将您转到 YouTube 页面。
这是代码:
#IMPORT
import tkinter
import webbrowser
#END IMPORT
root = tkinter.Tk()
root.title("welcome to this page")
root.geometry('700x500')
option_list = ["meme", "meme", "meme", "meme"]
value_inside = tkinter.StringVar(root)
value_inside.set("select an Option: ")
question_menu = tkinter.OptionMenu(root, value_inside, *option_list)
question_menu.pack()
def print_answers():
print("Select Option: {}".format(value_inside.get()))
return None
submit_button = tkinter.Button(root, text='submit', command=print_answers)
submit_button.pack()
root.mainloop()
在 Stack Overflow 上搜索一番后,我终于弄明白了:在创建 OptionMenu
时需要将 print_answers
传递给 command
关键字参数。每次用户从菜单中选择一个选项时都会调用 print_answers
。
要打开 url,只需使用 webbrowser.open()
。这是 print_answer()
的样子:
def print_answer(selected_option):
webbrowser.open(value_inside.get())
(我们将在答案末尾详细讨论 selected_option
参数)
完整代码:
#IMPORT
import tkinter
import webbrowser
#END IMPORT
root = tkinter.Tk()
root.title("welcome to this page")
root.geometry('700x500')
option_list = ["meme", "meme", "meme", "meme"]
value_inside = tkinter.StringVar(root)
value_inside.set("select an Option: ")
def print_answers(selected_option):
webbrowser.open(value_inside.get())
question_menu = tkinter.OptionMenu(root, value_inside, *option_list, command=print_answers)
question_menu.pack()
submit_button = tkinter.Button(root, text='submit', command=print_answers)
submit_button.pack()
root.mainloop()
只需将 print_answers
传递给 command
参数即可在选择一个选项时调用它。真希望我早知道!
使用 value_inside
变量的替代方法:OptionMenu
已经将所选项目作为参数传递给它的命令函数(这是我之前提到的 selected_option
参数;你可以使用任何东西代替 selected_option
,因为它是一个位置参数)。所以,你可以完全忘记 value_inside
并这样做:
def print_answer(selected_option):
webbrowser.open(selected_option)