在 python 中创建类似于 MS 计算器的 GUI 计算器

发布于 2024-08-21 12:12:03 字数 268 浏览 8 评论 0原文

我需要编写一个与普通计算器类似的代码,以这样的方式显示我输入的第一个数字,当我按下操作数时,输入小部件仍然显示第一个数字,但是当我按下第二个数字时号,第一个被替换。我还没有到编写整个代码的地步,但我陷入了当我按下第二个数字时,第一组被替换的地步。我正在考虑如果 key == 一个操作数,那么我首先将条目上的 num 设置为变量,然后执行 ent.delete(0,end) 来清除屏幕,然后执行 ent.insert(0,first) 来显示条目小部件中的第一个数字。现在我不知道当按下第二个数字时该如何清除输入小部件。

I need to write a code that runs similar to normal calculators in such a way that it displays the first number I type in, when i press the operand, the entry widget still displays the first number, but when i press the numbers for my second number, the first one gets replaced. I'm not to the point in writing the whole code yet, but I'm stuck at the point where when I press the 2nd number(s), the first set gets replaced. I was thinking about if key == one of the operands, than I set the num on the entry as variable first, then I do ent.delete(0,end) to clear the screen and ent.insert(0,first) to display the first num in the entry widget. Now I don't know what to do to clear the entry widget when the 2nd number(s) is pressed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白况 2024-08-28 12:12:03

这里你需要的是状态的概念。每次按下某个键时,您都会检查状态并确定要采取的操作。

在初始状态下,您输入数字。

当按下操作数按钮时,您可以存储操作数并更改状态。

当按下另一个数字时,您可以存储该数字,清除数字输入,然后重新开始数字输入。

然后,当按下等于按钮时,您将使用存储的数字和操作数以及数字输入中的当前数字来执行操作。

请注意,使用像 Python 这样的动态语言,您可以只根据状态更改处理按键/按钮的函数,而不是使用变量和 if 语句来检查状态。

What you need here is a concept of state. Each time a key is pressed, you check the state and determine what action to take.

In the initial state, you take input of numbers.

When an operand button is pressed, you store the operand, and change the state.

When another number is pressed, you store the number, clear the numeric input, and start the number input again.

Then when the equals button is pressed, you perform the operation, using your stored number and operand with the current number in the numeric input.

Note that with a dynamic language like Python, instead of using a variable and if statements to check the state, you can just change the function that handles key/button pressed depending on what the state is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文