首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在选项菜单中添加YouTube链接?

如何在选项菜单中添加YouTube链接?
EN

Stack Overflow用户
提问于 2021-10-07 20:08:13
回答 1查看 55关注 0票数 1

有人知道如何在这段代码中添加YouTube链接吗?因此,如果您按下某个选项,Python会将您转到YouTube页面。

代码如下:

代码语言:javascript
复制
#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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-07 22:01:54

在对Stack Overflow进行了一些搜索之后,我终于弄明白了这一点:在创建OptionMenu时,需要将print_answers传递给command关键字参数。每当用户从菜单中选择一个选项时,该函数都会调用print_answers

要打开url,只需使用webbrowser.open()即可。下面是print_answer()的样子:

代码语言:javascript
复制
def print_answer(selected_option):
    webbrowser.open(value_inside.get())

(我们将在答案的末尾更多地讨论selected_option参数)

完整的代码:

代码语言:javascript
复制
#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并执行以下操作:

代码语言:javascript
复制
def print_answer(selected_option):
    webbrowser.open(selected_option)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69487259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档