栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何通过按钮命令(TkInter)使用os.startfile

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过按钮命令(TkInter)使用os.startfile

当Python处理这两行时,它会在第一行看到这一点:

os.startfile('Bessel.pdf')

并将其解释为有效的函数调用。因此,它调用了该函数。

要解决此问题,请定义一个函数来处理该行之前的click事件,然后将按钮的

command
opion分配给该函数:

def handler():    # The pre in here is "hidden"    # It will only run when the function is called (the button is clicked)    os.startfile('Bessel.pdf')self.B3 = Button(Inputframe, text='Graphical Plots', command=handler, bd=5, width=13, font="14")

或者,在这种情况下,甚至更好/更干净的方法是使用

lambda
(匿名函数):

self.B3 = Button(Inputframe, text='Graphical Plots', command=lambda: os.startfile('Bessel.pdf'), bd=5, width=13, font="14")

或者,就像@JFSebastian指出的那样,您可以使用

functools.partial

self.B3 = Button(Inputframe, text='Graphical Plots', command=functools.partial(os.startfile, "Bessel.pdf"), bd=5, width=13, font="14")

请注意,您必须先导入

functools



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419966.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号