如何在选项菜单中添加 YouTube 链接?
Posted
技术标签:
【中文标题】如何在选项菜单中添加 YouTube 链接?【英文标题】:how to add a YouTube link in option menu? 【发布时间】:2021-11-27 21:43:49 【问题描述】:有人知道如何在此代码中添加 YouTube 链接吗? 因此,如果您按下 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()
【问题讨论】:
问题到底出在哪里?你快到了,你只需要webbrowser.open
value_inside
的值,不是吗?
【参考方案1】:
在 Stack Overflow 上进行了一番搜索后,我终于想通了:在创建 OptionMenu
时,您需要将 print_answers
传递给 command
关键字参数。每次用户从菜单中选择一个选项时,这都会调用 print_answers
。
要打开网址,只需使用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
参数;您可以使用任何东西来代替@987654335 @,因为它是一个位置参数)。所以,你可以完全忘记value_inside
,然后这样做:
def print_answer(selected_option):
webbrowser.open(selected_option)
【讨论】:
以上是关于如何在选项菜单中添加 YouTube 链接?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Jquery Date Picker 中添加请选择月份年份下拉菜单的选项?