当前位置: 首页 > 知识库问答 >
问题:

Python Tkinter中按钮之间的交互

龚奕
2023-03-14

我正在尝试使用Python创建一个简单的Tkinter GUI。用户界面有3个不同的按钮:是、否和打印。

如果用户单击“是”,然后单击“打印”,将出现一行“是1”。

如果用户取消单击“是”,然后单击“否”,然后单击“打印”,则会出现一行“否为0”。

但是程序怎么能够跟踪用户点击哪个按钮呢?我可以用哪个功能来找到这两个相关按钮之间的联系?代码是如何执行的?

太感谢你了!

共有1个答案

葛承嗣
2023-03-14

这是我所做的。我做了一个变量来检查yes按钮是否被按下。当按下“否”时,它检查是否按下了“是”。如果是,它将打印“是的是1”,然后在印刷机的数量上加1。这是这样的,当该过程再次发生时,它不会打印“是的是1”;而是打印“Yes is 0”。

代码:

from tkinter import *


class GUI:
    def __init__(self):
        self.yes_pressed = False
        self.num_presses = 0

        self.yes_button = Button(root, text='yes', command=self.yes_button_pressed)
        self.no_button = Button(root, text='no', command=self.no_button_pressed)

        self.yes_button.pack()
        self.no_button.pack()

    def yes_button_pressed(self):
        self.yes_pressed = not self.yes_pressed

    def no_button_pressed(self):
        if self.yes_pressed:
            if self.num_presses % 2 == 0:
                print("Yes is 1")
            else:
                print("Yes is 0")

            self.num_presses += 1
            self.yes_pressed = False


root = Tk()
GUI()
root.mainloop()
 类似资料:
  • 问题内容: 我在线性布局中有一堆按钮。但是有空格按钮。我将padding设置为0,但是没有变化。在http://www.mail- archive.com/android- developers@googlegroups.com/msg51104.html上 已经有相同的问题,但那里没有答案。请你帮我一下。 问题答案: 尝试使用属性。例如,要减少左侧/右侧的空间(假设您有一组水平的按钮),可以执行

  • 我试图建立一个国际象棋游戏在Python使用tkinter的图形。我创建了一个8x8(行和列)的网格,并将瓷砖放在那里(这是一种按钮)。这一切都很好,直到你用棋子填满整行,然后整行消失。我不知道为什么。 当填充整行时,除了一个:https://gyazo.com/865aed481e4a84c5e9e8918695410006 填充整行时:https://gyazo.com/acf48c97903

  • 我有一些问题与内置的Android按钮栏样式。在给我的每个按钮宽度0和重量1之后,两个按钮之间仍然有大约1px的间隙(见图)。 消除这种差距的最好方法是什么?为什么它一开始就在那里?

  • 表单按钮一般分为三类,分别是提交按钮、重置按钮和普通按钮。提交按钮、重置按钮只能在表单中使用,普通按钮则可以在网页的任何地方使用。 从本质上讲,表单按钮也是表单控件,之所以把它分离出来,单独介绍,是因为它的功能比较特别。提交按钮用于把表单数据发送到服务器,重置按钮用于重置整个表单的数据,普通按钮则需要开发者赋予它功能。 当用户点击提交按钮和重置按钮时,就有动作发生,一般不需要添加动作;而普通按钮,

  • 我有一个活动是持有5个片段。其中一个片段是持有5更多的碎片。如果我添加到片段管理器a. addToBackStack(空)。返回按钮返回到活动的最后一个片段,而不是从“父亲”片段的最后一个片段(即持有5更多的片段)。 有什么帮助吗。。 编辑:

  • 问题内容: 我有一个名为的按钮。我的目的是单击以更改文本并开始计算时间。计时器必须在下次单击时停止。它应给出两次单击之间的时间间隔。 问题答案: 在第一次单击上创建一个变量: 然后,在第二次单击上,您可以计算出差异: 将以秒为单位给您带来差异。希望这可以帮助。