python - 如何从条目中获取值并注入 init 函数参数?
问题描述
这是代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import sys
class TwitterBot:
def __init__(self, username, password):
self.username = username
self.password = password
entry_user = tk.Entry(lower_frame, bg="white", fg='black', bd=0)
#entry_user.insert(0, "Username")
#entry_user.bind("<Button-1>", del_value_user)
entry_user.pack(expand = "yes")
entry_pass = tk.Entry(lower_frame, bg="white", fg='black', bd=0)
#entry_pass.insert(0, "Password")
#entry_pass.bind("<Button-1>", del_value_pass)
entry_pass.pack(expand = "yes")
sasha = TwitterBot(entry_user.get(), entry_pass.get())
该条目从不发送我输入的值sasha = TwitterBot(entry, entry2)
这意味着我想要在 tkinter 界面中输入两个条目,它们应该是用户名和密码,当我执行函数时,这些值会被注入。我认为问题在于self.username
andself.password
是在内部定义的__init__
,所以如果这些条目在启动时保持为空,那么我无法让它们注入。因为我可以打印我的entry.get()
价值观。我只是不能让它们替换我__init__
函数的前两个参数。有人知道如何提供帮助吗?
解决方案
尝试这个:
import tkinter as tk
class TwitterBot:
def __init__(self, username, password):
print("Username =", username, " Password =", password)
self.username = username
self.password = password
def create_bot(event=None):
sasha = TwitterBot(entry_user.get(), entry_pass.get())
print("started bot")
root = tk.Tk()
entry_user = tk.Entry(root, bg="white", fg='black', bd=0)
#entry_user.insert(0, "Username")
#entry_user.bind("<Button-1>", del_value_user)
entry_user.pack(expand=True)
# Log in if the user presses the Enter key:
entry_user.bind("<Return>", create_bot)
entry_pass = tk.Entry(root, bg="white", fg='black', bd=0)
#entry_pass.insert(0, "Password")
#entry_pass.bind("<Button-1>", del_value_pass)
entry_pass.pack(expand=True)
# Log in if the user presses the Enter key:
entry_pass.bind("<Return>", create_bot)
button = tk.Button(root, text="Log in", command=create_bot)
button.pack()
root.mainloop()
您的代码不起作用,因为一旦您的代码创建了条目,它就会尝试从中获取数据(这显然是一个空字符串)并创建了TwitterBot
对象。为了使其工作,您必须给用户时间在条目中输入他们的详细信息,方法是向按下Enter键的用户添加按钮/绑定。
我创建了一个按钮并将其放在窗口的底部。当您单击它调用的按钮时,create_bot
它会创建TwitterBot
对象。
推荐阅读
- c# - Newtonsoft.Json 未终止的字符串。预期分隔符:“。路径'StaticPasses',第 1 行,位置 178
- python - 有条件地填充数据框列的所有后续值
- java - 如何在Java中直接或间接查找另一个表达式变量中使用的所有变量
- c# - OnClick 事件后滚动到 Div (c#)
- android - 当我从 Android 9.0 中的对话框构建 popupWindow 时,其 positionX 为负,popupWindow 的左侧内容被剪裁
- python - 训练中的 AWS NoCredentials
- java - 单选按钮计数不起作用,单击按钮时自动重定向到第一个活动
- python - 为什么列表元素查找在 Python 中是 O(1)?
- javascript - 使用 R 和 phantomjs 进行 Web 抓取,使用一个小的 js 脚本返回错误
- scala - scala中函数的依赖类型和依赖者