【问题标题】:Use a button to enter text into Entry box in python's tkinter [duplicate]使用按钮在python的tkinter中的输入框中输入文本[重复]
【发布时间】:2018-07-24 05:27:44
【问题描述】:

目的:点击加号按钮,输入框出现加号 我这里有一个非常简单的代码:

basic=tk.Tk()
basic_label=tk.Label('Welcome to Basic Math section. \n \n Note: Please enter white spaces between objects, \n e.g. 5 + 6 \n NOT 5+6')
entry=tk.Entry()
userInput=str(entry.get())
input1, op, input2=UserInput.split(' ')

#casting inputs
input1=int(input1)
input2=int(input2)
plus=tk.Button(text='+', command=??)

我在命令中输入了什么?

【问题讨论】:

  • 你做过研究吗?将文本插入条目小部件的方法有据可查。
  • 这些人是不是来自同一个班级,所以最近有这么多与计算器/数学相关的应用程序哈哈,看看这个链接老兄:effbot.org/tkinterbook/entry.htm

标签: python user-interface tkinter


【解决方案1】:

试试这个。我已经修复了您的 GUI,并注释掉了一些错误代码。

import tkinter as tk
basic=tk.Tk()
basic_label=tk.Label(basic,text='Welcome to Basic Math section. \n \n Note: Please enter white spaces between objects, \n e.g. 5 + 6 \n NOT 5+6')
basic_label.grid()
entry=tk.Entry(basic)
entry.grid()
userInput=str(entry.get())
#input1, op, input2=userInput.split(' ')

#casting inputs
#input1=int(input1)
#input2=int(input2)
plus=tk.Button(basic,text='+',command=lambda:entry.insert(tk.END,"+"))
plus.grid()
basic.mainloop ()

【讨论】:

  • 感谢 Minion 回答这个问题,但谁从中受益,OP 真的学到了什么吗?还要为您的解决方案添加解释。
  • 可能不是,但你必须从某个地方开始(我花了很长时间才开始学习 Tkinter)。另外,感谢关​​于 cmets 的提醒(我确实有很糟糕的编码习惯......)
【解决方案2】:

从查看您的代码看来,您所做的研究似乎还不够。

您需要从基础开始,了解如何创建小部件以及如何使用与它们相关的功能。

查看此链接:http://effbot.org/tkinterbook/

让我举一个简单的例子:

这是您创建标签的代码:

basic_label=tk.Label('Welcome to Basic Math section...')

首先,这甚至没有正确设置标签的文本,更不用说在框架上显示它了。

这就是你应该如何构造一个标签小部件:

labelName = tk.Label(root, text = '' , 'any other options')
labelName.grid(row=x, column=x)
  • root - 您将此小部件分配给的父级
  • text - 设置标签的文本
  • '任何其他选项' - 这些可以是标签尺寸、功能检查链接以获取更多信息
  • .grid() - 将小部件添加到类似网格的布局中的框架中,您可以在其中为行和列定义 x

【讨论】:

    猜你喜欢
    • 2019-02-03
    • 2021-02-14
    • 1970-01-01
    • 2022-01-21
    • 2013-05-20
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多