草庐IT

python - 获取触发事件的小部件?

在Tkinter中,我有多个小部件绑定(bind)到鼠标左键。单击时它们都会触发相同的事件。如何恢复点击了哪个小部件?我想要它,所以当Label2被按下时,我能够恢复Label2是在它触发的事件中被按下的小部件。 最佳答案 deff(event):caller=event.widget 关于python-获取触发事件的小部件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/429

python - token 错误 : EOF in multi-line statement

下面的代码给我这个错误“token错误:多行语句中的EOF”。这是什么错误?我该如何解决?importeasyguiimporttimenamegui=easygui.enterbox(msg='Enteryourname:',title='Namequery',default='Gian')situationgui=easygui.enterbox(msg='Pleaseenteryoursituation:',title='ThoughtLog(Situation)')thoughtsgui=easygui.enterbox(msg='Pleaseenteryourthoughts

python - 按下按钮时有多个命令

我想在单击一个按钮时运行多个函数。例如,我希望我的按钮看起来像self.testButton=Button(self,text="test",command=func1(),command=func2())当我执行这条语句时,我得到了一个错误,因为我不能为一个参数分配两次。如何让命令执行多个功能。 最佳答案 您可以像这样简单地使用lambda:self.testButton=Button(self,text="test",command=lambda:[funct1(),funct2()])

python - 当我使用 Windows 键盘键入非 ASCII 字符时,我得到 "?"

当我使用Windows键盘(在语言栏中)键入非ASCII字符时,我会在非ASCII字符所在的位置出现问号?。复制粘贴工作正常,Unicode字符显示在Text小部件中。我正在使用Lakota一体式键盘找到here.此特定键盘在US语言环境下的Windows语言栏中列出。 最佳答案 TkInter似乎不太适合处理特殊字符,尤其是在Fedora上。我看过几十个这样的帖子。你最好的选择可能是使用另一个GUI库,比如PyFLTK(我的最爱),GTK+3(我的第二喜欢),PyQt,PySide,wxPython,Kivy等

python - 从 python 访问备用剪贴板格式

从支持富文本的应用程序复制到剪贴板通常会添加多种格式的文本。我需要找出可用的格式,然后以选定的格式检索剪贴板内容。以防万一,我对富文本格式(来自Word、Acrobat、浏览器等)感兴趣,而不是图像数据或其他exotica.我看了又看,但我找到的解决方案仅限于纯文本,superoutdated,特定于Windows(我在OSX上),reliant在命令行实用程序pbcopy和pbpaste(它们不处理所有剪贴板格式)或以上几个。那么:我怎样才能获得剪贴板中存在的格式列表,并以我选择的格式提取其内容?平台,按兴趣排序:独立于系统(我希望)、OSXMountainLion(我当前的平台)或

python - 在 OS X 菜单栏中更改 Tkinter 应用程序的标题

当您在Python中使用Tkinter创建带有GUI的应用程序时,您的应用程序的名称在OSX的菜单栏中显示为“Python”。如何让它显示为其他名称? 最佳答案 我的答案是基于一个埋在someforums中间的.找到该解决方案有点困难,但我喜欢它,因为它允许您将应用程序作为单个跨平台脚本分发。没有必要通过py2app或类似的东西运行它,然后你会得到一个OSX特定的包。无论如何,我在这里分享我的清理版本,以便在它到达那里时给予更多关注。您需要通过pip安装pyobjc以获取代码中使用的Foundation模块。fromsysimpor

python - 将 C 或 numpy 数组转换为具有最少副本数的 Tkinter PhotoImage

我知道通过Tkinter将MxNx3numpy数组显示为RGB图像的方法,但我的方法在此过程中制作了数组的多个副本:a=np.random.randint(low=255,size=(100,100,3),dtype=np.uint8)#Originalppm_header=b'P6\n%i%i\n255\n'%(a.shape[0],a.shape[1])a_bytes=a.tobytes()#Firstcopyppm_bytes=ppm_header+a_bytes#Secondcopyhttps://en.wikipedia.org/wiki/Netpbm_formatroot=

Python tkinter : Make any output appear in a text box on GUI not in the shell

我正在使用python和tkinter制作一个GUI,只是想知道是否有办法让任何输出文本出现在GUI的窗口中而不是解释器/shell上?提前致谢 最佳答案 如果按照BryanOakley的评论中的建议,您想要“在您的GUI中打印‘foo’,但让它神奇地出现在文本小部件中”,请参阅上一个问题的答案Python:ConvertingCLItoGUI.这个答案解决了如何在文本框中生成输出这一更简单的问题。要生成滚动文本窗口,请创建并放置或打包一个文本小部件(我们称它为mtb),然后使用像mtb.insert(Tkinter.END,ms)

python - 调用 Tk() 实际上做了什么?

当我看到NMTTkinter8.5Reference中的一个最小示例时,我正在复习Tkinter。.#!/usr/bin/envpythonimporttkinterastkclassApplication(tk.Frame):def__init__(self,master=None):tk.Frame.__init__(self,master)self.grid()self.createWidgets()defcreateWidgets(self):self.quitButton=tk.Button(self,text='Quit',command=self.quit)self.qu

python - 有没有办法在不触摸 tkinter/python 的情况下按下按钮?

您好,我需要这样做,因为我正在制作匹配/内存游戏,并且必须有一个按钮(与当前游戏中的按钮完全分开),当我按下它时,它必须显示匹配无需使用鼠标触摸按钮即可自动卡片。是否有按下按钮的“按下”功能或类似功能?谢谢!:) 最佳答案 正如JoelCornett在评论中建议的那样,简单地调用您传递给按钮的回调可能更有意义。但是,如docs中所述,Button.invoke()方法将具有与按下按钮相同的效果(并将返回回调的结果),具有轻微的优势,如果按钮当前是,则它不会产生任何效果已禁用或没有回调。