m0_73319296 2023-09-30 17:43 采纳率: 50%
浏览 8
已结题

tkinter button传参到函数

我的自编代码出错了!!!
系统windows 11专业版 21H2(OS 内部版本22000.2416)
python编译器版本3.10.1
已安装库:
Package Version


absl-py 1.2.0
aio-pika 8.2.3
aiofiles 23.1.0
aiogram 2.25.1
aiohttp 3.8.4
aiormq 6.4.2
aiosignal 1.3.1
alabaster 0.7.12
altair 5.1.1
altgraph 0.17.3
anyio 4.0.0
Appium-Python-Client 2.7.1
applescript 2021.2.9
APScheduler 3.9.1.post1
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
asgiref 3.5.2
asttokens 2.0.5
astunparse 1.6.3
async-generator 1.10
async-timeout 4.0.2
atomicwrites 1.4.1
attrs 21.4.0
Automat 20.2.0
Babel 2.12.1
backcall 0.2.0
baidu-api 0.0.2
basemap 1.3.4
basemap-data 1.3.2
bce-python-sdk 0.8.90
beautifulsoup4 4.11.1
bidict 0.22.1
black 22.6.0
bleach 5.0.1
blender 1.4
blis 0.7.9
blobfile 2.0.1
boto3 1.26.133
botocore 1.29.133
bottle 0.12.21
CacheControl 0.12.11
cachetools 5.2.0
cachy 0.3.0
catalogue 2.0.8
certifi 2022.6.15
cffi 1.15.1
chardet 3.0.4
charset-normalizer 2.1.0
chatbot 1.5.2b0
ChatterBot 1.0.4
chatterbot-corpus 1.2.0
chess 1.9.4
cleo 0.8.1
click 8.1.3
clikit 0.6.2
cloudpickle 2.2.1
clr 1.0.3
clr-loader 0.2.5
cmake 3.26.4
cocos2d 0.6.9
colorama 0.4.6
colorclass 2.2.2
coloredlogs 15.0.1
colorhash 1.2.1
colorlog 6.7.0
common 0.1.2
commonmark 0.9.1
comtypes 1.1.14
confection 0.0.4
configparser 5.3.0
confluent-kafka 1.9.2
constantly 15.1.0
crashtest 0.3.1
cryptography 37.0.4
cssselect 1.1.0
cups 0.0.6
curio 1.5
cycler 0.11.0
cymem 2.0.7
Cython 0.29.32
dask 2022.10.2
datasets 2.14.4
debugpy 1.6.2
decorator 5.1.1
deepface 0.0.79
defusedxml 0.7.1
dill 0.3.4
distlib 0.3.5
Django 4.0.6
dnspython 1.16.0
docopt 0.6.2
docutils 0.18.1
docx 0.2.4
easydict 1.10
EasyProcess 1.1
entrypoint2 1.1
entrypoints 0.4
et-xmlfile 1.1.0
exceptiongroup 1.1.3
executing 0.8.3
fabulous 0.4.0
fastapi 0.103.0
fastjsonschema 2.16.1
fbmessenger 6.0.0
ffmpeg 1.4
ffmpy 0.3.1
filelock 3.7.1
fire 0.5.0
Flask 2.1.3
flask-babel 3.1.0
Flask-SocketIO 5.3.6
flatbuffers 23.5.9
fluent-logger 0.10.0
fonttools 4.34.4
freegames 2.4.0
frozenlist 1.3.3
fsspec 2023.5.0
future 0.18.2
game 0.0.5
gameturtle 0.279
gast 0.4.0
gdown 4.7.1
google-auth 2.21.0
google-auth-oauthlib 1.0.0
google-pasta 0.2.0
googletrans 4.0.0rc1
gradio 3.41.2
gradio_client 0.5.0
greenlet 2.0.2
grpcio 1.56.0
gunicorn 20.1.0
h11 0.9.0
h2 3.2.0
h5py 3.7.0
hpack 3.0.0
hstspreload 2022.9.1
html5lib 1.1
httpcore 0.9.1
httptools 0.5.0
httpx 0.13.3
huggingface-hub 0.16.4
humanfriendly 10.0
hupper 1.10.3
hyperframe 5.2.0
hyperlink 21.0.0
idna 2.10
image 1.5.33
ImageHash 4.3.1
imageio 2.31.1
imagesize 1.4.1
importlib-metadata 4.12.0
importlib-resources 6.0.1
incremental 21.3.0
inflection 0.5.1
iniconfig 1.1.1
ipykernel 6.15.1
ipyparallel 8.4.1
ipython 8.4.0
ipython-genutils 0.2.0
ipywidgets 7.7.1
itchat 1.3.10
itemadapter 0.6.0
itemloaders 1.0.4
itsdangerous 2.1.2
jedi 0.18.1
jieba 0.42.1
Jinja2 3.1.2
jmespath 1.0.1
joblib 1.1.0
jsonpickle 3.0.1
jsonschema 4.7.2
jupyter 1.0.0
jupyter-client 7.3.4
jupyter-console 6.4.4
jupyter-core 4.11.1
jupyterlab-pygments 0.2.2
jupyterlab-widgets 1.1.1
keras 2.13.1
Keras-Preprocessing 1.1.2
keyring 23.7.0
Kivy 2.1.0
kivy-deps.angle 0.3.3
kivy-deps.glew 0.3.1
kivy-deps.sdl2 0.4.5
Kivy-Garden 0.1.5
kiwisolver 1.4.4
langcodes 3.3.0
lazy_loader 0.3
libclang 14.0.1
llvmlite 0.39.1
locket 1.0.0
lockfile 0.12.2
lxml 4.9.1
magic-filter 1.0.9
Markdown 3.4.1
MarkupSafe 2.1.1
mathparse 0.1.2
matplotlib 3.5.2
matplotlib-inline 0.1.3
mattermostwrapper 2.2
Menu 3.2.2
mistune 0.8.4
MouseInfo 0.1.3
mp3play 0.1.15
mpmath 1.2.1
msedge-selenium-tools 3.141.4
msgpack 1.0.4
mss 9.0.1
mtcnn 0.1.1
multidict 5.2.0
multiprocess 0.70.12.2
murmurhash 1.0.9
musicbox 0.1.2.4
mypy-extensions 0.4.3
MyQR 2.3.1
nbclient 0.6.6
nbconvert 6.5.0
nbformat 5.4.0
nest-asyncio 1.5.5
networkx 3.1
nltk 3.7
notebook 6.4.12
numba 0.56.3
numpy 1.23.1
oauthlib 3.2.0
onnx 1.14.1
openai 0.27.2
openai-secret-manager 0.0.2
OpenAIAuth 0.3.2
opencv-python 4.6.0.66
openpyxl 3.0.10
opt-einsum 3.3.0
orjson 3.9.5
outcome 1.2.0
packaging 23.1
paddle2onnx 1.0.6
paddlefsl 1.1.0
paddlehub 2.3.1
paddlenlp 2.6.0
pamqp 3.2.1
Panda3D 1.10.12
panda3d-gltf 0.13
panda3d-simplepbr 0.10
pandas 1.4.3
pandocfilters 1.5.0
parsel 1.6.0
parso 0.8.3
partd 1.4.0
PasteDeploy 2.1.1
pastel 0.2.1
pathspec 0.9.0
pathy 0.10.1
pdfminer 20191125
pefile 2022.5.30
pendulum 2.1.2
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.5.0
Pint 0.21
pip 23.2.1
pkginfo 1.8.3
plaster 1.0
plaster-pastedeploy 0.7
platformdirs 2.5.2
playsound 1.3.0
plotly 5.9.0
pluggy 1.0.0
ply 3.11
poetry 1.1.14
poetry-core 1.0.8
portalocker 2.7.0
preshed 3.0.8
prettytable 3.3.0
prometheus-client 0.14.1
prompt-toolkit 3.0.28
Protego 0.2.1
protobuf 3.20.2
proxy-tools 0.1.0
psutil 5.9.1
psycopg2-binary 2.9.6
ptyprocess 0.7.0
pure-eval 0.2.2
py 1.11.0
py2exe 0.11.1.1
pyarrow 13.0.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
PyAudio 0.2.12
PyAutoGUI 0.9.53
pycaw 20220416
pycparser 2.21
pycryptodome 3.15.0
pycryptodomex 3.17
pydantic 1.10.2
PyDispatcher 2.0.5
pydot 1.4.2
pydub 0.25.1
pyecharts 1.9.1
pyfiglet 0.8.post1
pygame 2.4.0
PyGetWindow 0.0.9
pyglet 1.5.26
Pygments 2.12.0
pygtrans 1.5.2
pyinstaller 5.7.0
pyinstaller-hooks-contrib 2022.14
PyJWT 2.0.0
pykwalify 1.8.0
pylev 1.4.0
pymediainfo 6.0.1
pymongo 3.10.1
PyMsgBox 1.0.9
PyMySQL 1.0.2
pynput 1.7.6
PyOGRe 0.0.4
PyOpenGL 3.1.6
PyOpenGL-accelerate 3.1.6
pyOpenSSL 22.0.0
pyparsing 3.0.9
PyPDF2 2.7.0
pyperclip 1.8.2
pypiwin32 223
pypng 0.20220715.0
pyproj 3.3.1
PyQRCode 1.2.1
PyQtWebEngine-Qt5 5.15.2
pyramid 2.0
pyreadline3 3.4.1
PyRect 0.2.0
pyrsistent 0.18.1
pyscreenshot 3.1
PyScreeze 0.1.28
pyshp 2.3.1
PySocks 1.7.1
pytest 7.0.1
pytest-asyncio 0.19.0
python-crfsuite 0.9.9
python-dateutil 2.8.2
python-docx 0.8.11
python-engineio 4.4.1
python-multipart 0.0.6
python-socketio 5.8.0
pythonnet 3.0.1
pyttsx3 2.90
pytweening 1.0.4
pytz 2023.3
pytz-deprecation-shim 0.1.0.post0
pytzdata 2020.1
PyWavelets 1.4.1
pywebview 4.1
pywin32 304
pywin32-ctypes 0.2.0
pywinauto 0.6.8
pywinpty 2.0.6
pyxel 1.9.12
PyYAML 6.0.1
pyzbar 0.1.9
pyzmq 23.2.0
qrcode 7.3.1
qtconsole 5.3.1
QtPy 2.1.0
questionary 1.10.0
queuelib 1.6.2
randomname 0.1.5
rarfile 4.0
rasa 3.5.7
rasa-sdk 3.5.1
raypy 0.0.2
readme-renderer 36.0
redis 4.5.5
regex 2022.7.9
requests 2.28.2
requests-file 1.5.1
requests-oauthlib 1.3.1
requests-toolbelt 0.9.1
response 0.5.0
retina-face 0.0.13
revChatGPT 3.1.4
rfc3986 1.5.0
rich 12.5.1
rocketchat-API 1.28.1
rsa 4.9
ruamel.yaml 0.17.26
ruamel.yaml.clib 0.2.7
s3transfer 0.6.1
safetensors 0.3.3
sanic 21.12.2
Sanic-Cors 2.0.1
sanic-jwt 1.6.0
sanic-routing 0.7.2
scapy 2.5.0
scikit-image 0.21.0
scikit-learn 1.1.3
scipy 1.8.1
Scrapy 2.6.1
selenium 3.141.0
semantic-version 2.10.0
semver 3.0.1
Send2Trash 1.8.0
sentencepiece 0.1.99
sentry-sdk 1.14.0
seqeval 1.2.2
service-identity 21.1.0
setuptools 63.2.0
Shapely 1.8.5.post1
shellingham 1.4.0
simplejson 3.17.6
sip 6.7.4
six 1.16.0
sklearn-crfsuite 0.3.6
slack-sdk 3.21.3
smart-open 6.3.0
sniffio 1.2.0
snowballstemmer 2.2.0
somepackage 1.2.3
sortedcontainers 2.4.0
soupsieve 2.3.2.post1
spacy 3.5.3
spacy-legacy 3.0.12
spacy-loggers 1.0.4
Sphinx 5.0.2
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
SQLAlchemy 1.2.19
sqlparse 0.4.2
srsly 2.4.6
stack-data 0.3.0
starlette 0.27.0
steamship 2.17.22
sudo 1.0.0
sympy 1.10.1
tabulate 0.9.0
tarsafe 0.0.3
tenacity 8.0.1
tensorboard 2.13.0
tensorboard-data-server 0.7.1
tensorboard-plugin-wit 1.8.1
tensorflow 2.13.0rc2
tensorflow-addons 0.19.0
tensorflow-estimator 2.13.0
tensorflow-hub 0.12.0
tensorflow-intel 2.13.0rc2
tensorflow-io-gcs-filesystem 0.26.0
termcolor 1.1.0
terminado 0.15.0
terminaltables 3.1.10
testpath 0.6.0
thinc 8.1.10
threadpoolctl 3.1.0
tifffile 2023.7.4
tiktoken 0.3.3
tinycss2 1.1.1
tkhtmlview 0.2.0
tkinterhtml 0.7
tkinterie 1.5.0
tkinterweb 3.18.14
tkwebview2 3.5.0
tldextract 3.3.1
toml 0.10.2
tomli 2.0.1
tomlkit 0.11.1
toolz 0.12.0
tornado 6.2
tqdm 4.64.0
traitlets 5.3.0
translationstring 1.4
trio 0.21.0
trio-websocket 0.9.2
twilio 7.12.0
twine 4.0.1
Twisted 22.4.0
twisted-iocpsupport 1.0.2
typed-ast 1.5.4
typeguard 3.0.2
typer 0.7.0
typing_extensions 4.5.0
typing-utils 0.1.0
tzdata 2022.1
tzlocal 4.3
ujson 5.7.0
Unidecode 1.3.6
urllib3 1.26.15
ursina 5.1.0
uvicorn 0.23.2
venusian 3.0.0
virtualenv 20.15.1
visualdl 2.5.3
w3lib 1.22.0
wasabi 1.1.1
wcwidth 0.2.5
webencodings 0.5.1
webexteamssdk 1.6.1
WebOb 1.8.7
websockets 10.4
Werkzeug 2.1.2
WeRoBot 1.13.1
wheel 0.37.1
widgetsnbextension 3.6.1
windnd 1.0.7
window 0.0.3
WMI 1.5.1
wordcloud 1.8.2.2
wrapt 1.14.1
wsproto 1.1.0
wxPython 4.2.0
XlsxWriter 3.0.3
xmltodict 0.13.0
xxhash 3.3.0
yarl 1.8.2
you-get 0.4.1650
youtube-dl 2021.12.17
zipp 3.8.1
zope.deprecation 4.4.0
zope.interface 5.4.0
zxing 0.14
我的代码无论怎么输入怎么改都会报错

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\ASUS\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "C:/Users/ASUS/Desktop/chatter.py", line 132, in <lambda>
    pd_=tkinter.Button(pd,text="access",command=lambda: pd_(key.get()))
TypeError: 'Button' object is not callable

下面是代码
请各位大佬多多帮助

import tkinter
import socket
import tkinter.colorchooser
import tkinter.messagebox
import ctypes
import multiprocessing
ctypes.windll.shcore.SetProcessDpiAwareness(1)
ScaleFactor=ctypes.windll.shcore.GetScaleFactorForDevice(0)
users=[]
log_name=""
AS_du={"A":1,"B":2,"C":3,"D":4,"E":5,"F":6,"G":7,"H":8,"I":9}
q=True
def pd_buttonz(get_key):
    if pd(get_key):
        tkinter.messagebox.showinfo("info","login")
        main()
    else:
        tkinter.messagebox.showerror("error","this key didn't login!")
def pd(key):
    try:
        key_ge = key.split("-")
        name = key_ge[0].split("|")
        for i in range(len(name)):
            user_name += chr(int(name[i]))
        use_time_to = key_ge[1].split("/")
        cj_time_year = 1
        for i in range(len(use_time_to[0])):
            if int(use_time_to[0][i]) == 0:
                continue
        cj_time_year *= int(use_time_to[0][i])
        if not cj_time_year == int(use_time_to[3]):
            q=False
        else:
            use_time_to=use_time_to[0]+"/"+use_time_to[1]+"/"+use_time_to[2]
        for i in range(len(key_ge[2])):
            if not int(key_ge[2][i]) == AS_du[key_ge[3][i]]:
                q=False
        if not len(key_ge[3]) == AS_du[key_ge[4]]:
            q=False
        for i in range(AS_du[key_ge[4]]):
            get_sum.append(int(key_ge[2][i]))
        if not int(key_ge[5]) == sum(get_sum):
            q=False
        return q
    except:
        tkinter.messagebox.showerror("error","key error")
        return False
def main():
    window=tkinter.Tk()
    window.title("chat")
    window.geometry("800x500")
    window.resizable(0, 0)
    window["bg"] = "darkgrey"
    window.tk.call("tk","scaling",ScaleFactor/75)
    menu = tkinter.Menu(window, tearoff=False)
    menu.add_command(label="about", command=about_chat)
    menu.add_command(label="Change background colour", command=set_bg)
    menu.add_separator()
    menu.add_cascade(label="set up", menu=set)
    window.config(menu=menu)
    create_chat = tkinter.Button(window, text="Create a chat group", command=create_chat, relief=tkinter.GROOVE,cursor="hand2", bg=window["bg"])
    create_chat.place(x=50, y=100)
    join_chat = tkinter.Button(window, text="Join the Chat", relief=tkinter.GROOVE, cursor="hand2", bg=window["bg"])
    join_chat.place(x=50, y=170)
    window.mainloop()
def run_sever():
    global s
    s.listen(128)
    jc=multiprocessing.Process()
    jc.start()

def create_sever():
    global s
    global make
    make.withdraw()
    addr=(host,int(port.get()))
    try:
        s.bind(addr)
        run_sever()
    except:
        tkinter.messagebox.showerror("error","create error.")
        create_chat()
def set_bg():
    global window
    ch_color=tkinter.colorchooser.askcolor(title="Choose your favourite background colour")
    window["bg"]=ch_color[1]
    window.update()
def create_chat():
    global port
    global host
    global s
    global make
    make=tkinter.Tk()
    make.title("create sever")
    make.resizable(0,0)
    make["bg"]=window["bg"]
    ku_make=tkinter.LabelFrame(make,bg=window["bg"],text="Please set what port the server is on (note that the port is an integer data type with four digits, recommended input: 8088 or 8000)")
    port=tkinter.Entry(ku_make,relief=tkinter.FLAT)
    port.insert(0,8088)
    port.pack()
    button_create=tkinter.Button(ku_make,bg=window["bg"],text="create and start the chat server",cursor="hand2",command=create_sever,relief=tkinter.GROOVE)
    button_create.pack()
    ku_make.pack()
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    host=socket.gethostbyname(socket.gethostname())
    #s.close()
    make.mainloop()
def about_chat():
    about=tkinter.Tk()
    about.title("about")
    about.resizable(0,0)
    about["bg"]="black"
    about_show_text="""About this programme
Welcome to this programme!
This programme was written by the Creation Mania team.
Copyright © Creation Mania and python.
This program was written using python code.
This program is currently selling for $0.5/weeks.
Program version v0.0.1
python compiler version 3.10.6"""
    show_text_onabout=tkinter.Label(about,text=about_show_text,font=("宋体",22),bg=window["bg"])
    if(window["bg"]=="#000000"):
        show_text_onabout["fg"]="white"
    show_text_onabout.pack()
    about.mainloop()
pd=tkinter.Tk()
pd.title("Please type in the key to access the main programme.")
pd.resizable(0,0)
pd.geometry("500x300")
key=tkinter.Entry(pd)
key.pack()
pd_=tkinter.Button(pd,text="access",command=lambda: pd_(key.get()))
pd_.pack()
pd.mainloop()
  • 写回答

2条回答 默认 最新

  • 无序繁星 2023-10-01 10:53
    关注

    你定义了button为pd_,一个函数名称为pd,你给button传参的command函数是pd_(key.get()),这里button类型不是函数所以报错,你是不是想传pd(key.get())

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月10日
  • 已采纳回答 10月2日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了