问题标签 [tkinter-button]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
14 浏览

python-3.x - 单击时如何禁用Tkinter按钮

因此,我试图在单击时禁用按钮,因为我只需要执行一次操作,在这种情况下,打印(“单击按钮”)。我不希望用户再次单击该按钮。使用此代码:

我不断收到错误消息:TypeError:'NoneType' 对象不支持项目分配。

我在这里错过了什么吗?如何禁用此按钮?

0 投票
1 回答
45 浏览

python - 按钮未出现在 Tkinter 中

MyButton没有出现在 tkinker (Python) 中。
这是主要代码:

当我运行它时:

整个窗口的屏幕截图

0 投票
1 回答
28 浏览

python-3.x - 如何获取特定按钮以将值插入由 for 循环制作的一系列按钮和输入框中的特定输入框?

我正在开发一个 Tkinter 项目,该项目基本上类似于游戏“MadTakes”的应用程序

这个怎么运作:

玩家被要求“输入名词”或代词或任何类型的单词。一旦他输入了所有的单词,那个人就可以按“开始!” 名词或形容词等有空格的故事将由玩家输入的单词填充。故事将因此完成,并将通过标签框显示。

该程序的工作方式是,

我基本上做到了,问题的数量将决定通过 for 循环添加多少行问题和输入框。起初我在获取用户在每个条目框中输入的单个条目时遇到问题,但我能够解决这个问题,如下面的代码所示。

要查看我正在尝试实现的程序的工作示例,MadTakes是我的项目所基于的。该网站有一个我想要获得的随机函数的工作示例。希望能帮助到你!我的代码如下。

这个帖子的原因是,

我在问题的输入框旁边做了一个按钮,我希望将一个随机名词、形容词等插入到它旁边的输入框中。

不幸的是,这并没有发生。我能做的最好的事情就是让随机名词出现 ( ) 到循环entry.insert产生的最后一个输入框中。for

例如,

输入名词:‏‎ ‎‏‎ ‎‏‎ ‎‏‎‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

输入一个动词: ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

输入形容词:‏‎ ‎‏‎ ‎|‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

当我按下 [RANDOM] 按钮时,这应该是输出:

输入名词:‏‎ ‎‏‎ ‎‏‎ ‎‏‎‎苹果公司 [随机的]

输入一个动词: ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

输入形容词:‏‎ ‎‏‎ ‎|‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

并且answer1必须包含“Apple”作为用户的第一个条目。(我的意思是它应该在列表中以正确的顺序排列。如果用户自己输入所有条目框,它应该与列表的外观没有什么不同)。answer1是我存储用户给出的所有值然后将其放入故事中的地方。

我当前的代码实现的是:

输入名词:‏‎ ‎‏‎ ‎‏‎ ‎‏‎‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

输入一个动词: ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ ‎‏‎ [随机的]

输入形容词:‏‎ ‎‏‎ ‎|‏‎‏‎ ‎‎‎‎‎‎‎|| [随机的]

因为根据我的理解,entries1.append(entry)获取相应条目框的值但在代码块中的任何其他位置尝试entry.insert它会导致它被插入到最后一个条目框中。有什么解决方法吗?

我计划为所有问题制作这样的随机函数,这样会有更多if "verb" in i.lower()"类型的语句和更多randverbrandadj函数。他们都需要解决这个问题才能工作。

注意:此代码块位于主窗口中的框架内。我已经编辑了这段代码的某些部分,以便更容易地表达我的问题。要提供更多信息,我可以提供项目整个代码的链接。

0 投票
1 回答
21 浏览

python-3.x - 在创建新功能之前销毁按钮

这是我的函数,它生成 4 个具有不同值的按钮,但我想要的是销毁之前创建的按钮。

谢谢。

0 投票
0 回答
33 浏览

python - 按下按钮时窗口在其他打开的窗口后面移动(带有 Tkinter 的 Python)

抱歉,如果这是一个完全简单的解决方法,而我只是错过了它。我正在学习 Python,我正在尝试使用 Tkinter 与我的后端代码一起开发一个 GUI。这对我来说完全陌生,我最近遇到了一个问题,即当我按下按钮时,它会使我的窗口移动到所有其他打开的程序后面的可能性很小。

我不完全确定是什么原因造成的,但我的猜测是它以某种方式源于我拥有的两个功能之一;一个是为了最小化主根窗口,第二个是为了显示它。但是,这些函数在我的程序中的任何地方都没有被调用,我不希望它们被最小化,并且被最小化的窗口不是根窗口(我的两个函数作用于它)。

我在下面添加了两个函数(希望我对 SO 很陌生),但如果需要任何额外的代码,我会提供它。我有相当多的代码,其他一切都运行良好,所以我不想发布我所有的代码。

没有特定的按钮按下或按钮的特定组合导致它,它似乎是其中任何一个看似随机的。它将我拥有的任何窗口发送到任务栏。

0 投票
2 回答
29 浏览

python - 简单的 tkinter 问题 - 按钮命令(单击时显示其他文本)

我刚刚开始为 python 学习 tkinter,我试图让按钮在单击时更改其文本。

这似乎是一个非常简单的问题,但我找不到任何答案。我现在使用的代码不起作用 - 当窗口打开时,它显示“点击!” 作为按钮上方的标签,在我单击按钮之前。

0 投票
1 回答
25 浏览

python - Tkinter 与 Python 3.7.9,单击时更改按钮颜色,然后再次单击时返回

我很难弄清楚如何使用 tkinter 在 python 中更改按钮的颜色。我见过的所有教程都展示了如何在按下按钮时更改颜色。例如

是我当前的代码,按下时颜色从绿色变为红色,但只要你抬起鼠标,它就会变回绿色。我正在寻找的是如何在单击按钮后使其保持红色,然后在再次单击时将其更改回来。我感谢任何帮助或建议,谢谢!

0 投票
1 回答
47 浏览

python - Tkinter - 单击按钮时在类之间传递按钮网格值

我正在尝试使用 Tkinter 在 Python 中创建一个基本的 Battleship 游戏。

下面是我的代码的一个非常简化的版本。本质上,我正在创建一个 10*10 的按钮网格并使用.grid. 我想做的是单击其中一个按钮并将该按钮的网格值(x,y)从GameBoard类传递给Battleship类以定位船。

我试过使用self.row = rowand self.column = column,但是当我这样做时,我立即收到一个属性错误,'GameBoard' object has no attribute 'row'.

0 投票
3 回答
65 浏览

python - 使用 Tkinter 按钮了解 Python Lambda 行为

我想了解按钮是如何使用 lambda 工作的。我有以下 Python 代码:

但是当我点击它时我的按钮不起作用,当我运行代码时它只在控制台中显示一次打印,我在问题中添加了一些打印:

问题图一

好吧,似乎当我在按钮中使用 Lambda 函数时它起作用了,我真的很想知道为什么。

Lambda工作按钮图一

我刚刚在按钮上添加了 lambda :

Lambda工作按钮图二

为什么使用 lambda 它可以工作?既然 lambda 基本上是一个匿名函数,它也不应该在没有 lambda 的情况下工作?

我非常想知道它为什么会起作用,谢谢大家的帮助:)

编辑:我要感谢你们,现在我终于明白发生了什么以及 Python 是如何工作的。非常感谢大家:D

0 投票
1 回答
43 浏览

python - 单击时如何将按钮值从自定义小部件传递到 tkinter 中的主应用程序

我为 tkinter 创建了一个自定义小部件,它布置了 5 个按钮。该小部件在大多数情况下都可以很好地工作。问题是我无法弄清楚如何将用户在小部件中按下的按钮传递给主应用程序。自定义小部件将最后按下的按钮存储在一个变量中,但我无法弄清楚如何让主应用程序看到它已被更改,而无需将按钮释放事件绑定到 root。我想尝试进一步构建这个自定义小部件,并且我希望它能够工作而不必做一些凌乱的黑客攻击。理想情况下,在下面的示例中,当按下按钮时,标签应更改以反映按下的按钮。例如,如果用户单击“2”按钮,则标签应更改为“2 X 2 = 4”。如何将按钮上的文字直接传递给主应用程序使用?希望我说得足够清楚。我希望能够像使用 .get() 方法的任何其他 tkinter 小部件一样从小部件中获取值。这是我正在使用的代码:

我查看了有关 stackoverflow 的其他一些帖子。这个在 tkinter中创建自定义小部件非常有帮助,但它没有解决按钮问题。我虽然这个使用 Tkinter 的子类化可能会有所帮助。我不明白如果我使用 绑定事件root.bind("<ButtonRelease-1>", getButtonClicked),那么小部件可以正常工作。还有其他方法吗?