首页 > 解决方案 > 如何在选项菜单中添加 YouTube 链接?

问题描述

有人知道如何在此代码中添加 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()

标签: pythontkinterhyperlink

解决方案


在 Stack Overflow 上进行了一番搜索后,我终于明白了这一点:您需要print_answerscommand创建OptionMenu. 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_answerscommand参数就会调用它。希望我以前知道这一点!

使用value_inside变量的替代方法:OptionMenu已经将所选项目作为参数传递给其命令函数(这是selected_option我之前提到的参数;您可以使用任何东西来代替selected_option,因为它是位置参数)。因此,您可以完全忘记value_inside并执行以下操作:

def print_answer(selected_option):
    webbrowser.open(selected_option)

推荐阅读