对于想了解如何在Tkinter中获取具有2个命令的按钮的读者,本文将是一篇不可错过的文章,我们将详细介绍tkinter获取entry内容,并且为您提供关于python–在tkinter中可以有一个垂直
对于想了解如何在Tkinter中获取具有2个命令的按钮的读者,本文将是一篇不可错过的文章,我们将详细介绍tkinter获取entry内容,并且为您提供关于python – 在tkinter中可以有一个垂直方向的按钮吗?、Python-如何在Tkinter中将参数传递给Button命令?、str对象没有属性在tkinter中获取、tkinter 按钮的多个命令的有价值信息。
本文目录一览:- 如何在Tkinter中获取具有2个命令的按钮(tkinter获取entry内容)
- python – 在tkinter中可以有一个垂直方向的按钮吗?
- Python-如何在Tkinter中将参数传递给Button命令?
- str对象没有属性在tkinter中获取
- tkinter 按钮的多个命令
如何在Tkinter中获取具有2个命令的按钮(tkinter获取entry内容)
我有以下代码行:nu和apendin命令由于某些原因无法正常工作。如果我删除其中一个但它们不能一起工作,则可以使用。关于如何解决此问题的任何想法。
谢谢x
答案1
小编典典您可以使用lambda
函数尝试这样的事情
login_button = Button(root, text="Click here to enter data", command=lambda:[main_menu(),apending_to_text_file()])
python – 在tkinter中可以有一个垂直方向的按钮吗?
是否可以垂直定位tk.Button或ttk.Button?有点像定向tk.Scrollbar的方式self.scrlbr = tk.Scrollbar(master,orient = vertical)?
尝试了tk.Button(* args).pack(fill = tk.Y),但它没有提供所需的效果 – 按钮仍然是水平方向的.
在手册页中找不到任何内容,但也许有一些不太明确的方法?
它看起来如何的粗略演示:
import tkinter as tk
import tkinter.font as tkfont
main = tk.Tk()
font = tkfont.nametofont("TkDefaultFont")
label = "Click Me"
height = font.measure(label) + 4
width = font.metrics()['linespace'] + 4
canvas = tk.Canvas(main,height=height,width=width,background="SystemButtonFace",borderwidth=2,relief="raised")
canvas.create_text((4,4),angle="90",anchor="ne",text=label,fill="SystemButtonText",font=font)
canvas.bind("figure(relief="sunken"))
canvas.bind("figure(relief="raised"))
canvas.place(x=5,y=height + 10)
main.mainloop()
Python-如何在Tkinter中将参数传递给Button命令?
假设我Button在Python中使用Tkinter
进行了以下操作:
import Tkinter as Tkwin = Tk.Toplevel()frame = Tk.Frame(master=win).grid(row=1, column=1)button = Tk.Button(master=frame, text=''press'', command=action)
action
当我按下按钮时会调用该方法,但是如果我想向该方法传递一些参数action
呢?
我尝试使用以下代码:
button = Tk.Button(master=frame, text=''press'', command=action(someNumber))
这只是立即调用该方法,而按该按钮则无济于事。
答案1
小编典典我个人更喜欢lambdas在这种情况下使用,因为imo更加简单明了,并且如果你无法控制被调用的方法,也不会强迫你编写很多包装方法,但这当然是一个问题。
这就是使用lambda的方式(请注意,功能模块中还存在一些curryin
g的实现,因此你也可以使用它):
button = Tk.Button(master=frame, text=''press'', command= lambda: action(someNumber))
str对象没有属性在tkinter中获取
显然,您的response
列表包含一些与字典混合的字符串。您可以检查attribute
的类型,如果不是dict
,则跳过它。
available_attributes.extend([attribute.get('name') for attribute in response if isinstance(attribute,dict)])
tkinter 按钮的多个命令
至少三个选项:
使用 or
(如果参数使用 lambda):
from tkinter import Tk,Button
root = Tk()
Button(root,text='Press',command=lambda: print('hello') or root.destroy() or print('hi')).pack()
root.mainloop()
使用 or
很重要,因为 and
不起作用(根本不知道为什么或如何工作)
或使用函数定义:
from tkinter import Tk,Button
def func():
print('hello')
root.destroy()
print('hi')
root = Tk()
Button(root,command=func).pack()
root.mainloop()
或带有 lambda 的列表:
from tkinter import Tk,command=lambda: [print('hello'),root.destroy()]).pack()
root.mainloop()
关于如何在Tkinter中获取具有2个命令的按钮和tkinter获取entry内容的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于python – 在tkinter中可以有一个垂直方向的按钮吗?、Python-如何在Tkinter中将参数传递给Button命令?、str对象没有属性在tkinter中获取、tkinter 按钮的多个命令的相关知识,请在本站寻找。
本文标签: