问题标签 [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 回答
22 浏览

python - tkinter 的单选按钮仅适用于最后一次选择

我正在制作一个角色创建者,我需要询问用户他们角色的性别是什么。我有根据性别引用的代词列表,但由于某种原因,它们仅对最后一个选项有效。我一直在使用单选按钮让用户选择角色的性别。

我有最后一个选择是不分性别,每次运行程序时,无论我选择什么,它总是使用不分性别的代词。我不确定我还能如何解决这个问题,我尝试在 for 循环之外单独创建每个按钮,我尝试将函数放在不同的位置,但没有任何效果。

这是我的代码片段:

0 投票
1 回答
195 浏览

python - Tkinter:删除活动按钮突出显示

在 Tkinter(使用 Ttkthemes)中单击按钮后,如何删除虚线黑色边框? 在此处输入图像描述

我在 Windows 10,Python 3.7.9 上。

似乎没有统一的方法来删除它,我在谷歌和 SO 上进行了搜索,但没有运气。谢谢。这是一个最小的例子:

0 投票
0 回答
21 浏览

python - 在函数之外创建按钮和标签并在 Tkinter 需要时将它们网格化是不是更好的礼仪?

例如,我正在尝试创建一个问候标签,上面写着“欢迎来到......”所以这样做更好:

或将 Label 包含在函数之外,因为它只会像这样使用一次并根据需要调用它:

另外,我们应该在 main() 之前还是之后执行 root.mainloop()?

0 投票
1 回答
96 浏览

python - 如何获取单击的按钮的值

我有一些 python 代码使用我的 SQL 表中的数据生成按钮。有没有办法我可以获取我选择的按钮的文本,因为我拥有的代码只会检索 for 循环中的最后一个值。我不能为每个按钮创建一个变量,因为每个站点都有不同数量的房间。

谢谢!

0 投票
0 回答
223 浏览

python - tkinter 按钮功能调用:多次按下多次调用相同的功能

我正在尝试使用 omxplayer 和 tkinter 制作 Raspberry Pi 媒体播放器。

我从 USB 驱动器(或本地文件夹)中抓取多达 16 个视频,并将它们显示为按钮网格上的缩略图。当按下按钮时,它会使用 omxplayer 全屏播放该视频(此时您无法再访问 tkinter 窗口,直到视频结束)。基本上我只想在没有视频播放的情况下启用视频选择。

我面临的问题是在一个按钮上多次按下,或者在视频开始播放之前按下其他按钮。这会导致所有视频排队并立即一个接一个地播放。在第一个视频(从第一次按下按钮开始播放)播放完毕之前,我不希望后续按下进行注册。我尝试设置一个布尔变量 video_is_playing,并在函数调用中检查其状态,但它从未进入 else 情况。

我尝试在您按下任何按钮后禁用所有按钮,然后在视频播放完毕后全部启用它们,我尝试使用变量来检查视频是否播放完毕,以及我能想到的几乎所有其他操作防止多次按下按钮。

这是我的代码的某些部分(对不起,如果它看起来很长,但我认为包含的所有内容都是相关的):

我使用 functools.partial() 将 i, j 索引传递给 play_vid 函数,因此我可以使用这些索引来了解要播放列表中的哪个视频。这是我导入的所有内容:

附带说明:有没有更好的方法来完成我想用按钮网格做的事情?我希望每个按钮都调用相同的功能但播放不同的视频,有什么我可以使用的属性吗?

0 投票
1 回答
198 浏览

python-3.x - 在tkinter中单击时如何删除网格按钮

我正在尝试在网格按钮上安排一个有几个单词的句子。当单击该句子的一个单词时,我想删除该网格按钮的单词,然后将其移动到另一行网格按钮。如何仅删除单击的那个网格按钮?反复点击,这些文字会从原来的网格按钮位置移动到其他位置,并一一消失。

不起作用。它给出了这个错误“TypeError:grid_forget()得到了一个意外的关键字参数'row'

我该如何解决这个问题?提前致谢。

代码如下,它可以移动但不能删除。

预期结果:点击前洗牌:(有做书吗?一个你)-->点击时如何删除

从点击移动后回答单词:(你有书吗?)

0 投票
1 回答
32 浏览

python - 创建一个按钮列表,其中每个按钮都会记住其相应的命令

我创建了一个列表和一个循环,将新按钮添加到该列表中。唯一的问题是按钮似乎不记得它们的适当命令,并且总是必须回调x循环中的变量。

该函数以与文本相同的方式num_pressed使用该变量x,除了文本在定义后保持不变,但命令没有。

因此,一旦创建了所有按钮,就调用命令,x = 8因为这就是循环结束的地方。所以最后他们都调用了命令num_pressed(9)

如何让命令记住它应该与文本相同的值?也许为每个按钮分配某种值,然后根据存储在按钮本身中的值分配命令?

旁注:我还没有找到一种方法,但应该可以使用该方法.cget('text'),因为按钮的文本恰好与应该使用的变量具有相同的值num_pressed

0 投票
1 回答
30 浏览

python - 有没有办法在单击时更改迭代创建的按钮的图像?

这些按钮是在一个更大的循环中创建的,通过以下代码迭代 i 然后 j:

具有更改按钮配置的功能:

但是,这不起作用,就像我单击任何按钮一样,它只会更改 btn[i][j] 的图像,其中 i 和 j 是在循环的最后一次迭代中达到的值。这些按钮用于形成一个网格,在这种情况下,单击任何按钮都会更改最后一行中的最后一个元素。有什么方法可以使在创建按钮时声明命令时使用的 i 和 j 固定到该特定按钮?

0 投票
1 回答
100 浏览

python - 在 Tkinter 中,padx 用作小部件中的参数和网格函数中的参数时有何不同?

尽管具有相同的填充值,但x按钮y具有相同的大小并且显示在距窗口左边框不同的距离处。另外,padx值的单位是什么?

0 投票
1 回答
51 浏览

python - 我正在尝试做一个简单的数学运算,但它给了我一个错误

我试图做一个简单的数学运算,当你给出正确答案时它会说“正确”,而当你做错时它会说“错误”;但是,它给出了一个错误:

Tkinter 回调 Traceback 中的异常(最近一次调用最后一次):文件“C:\Users\yu.000\AppData\Local\Programs\Python\Python38-32\lib\tkinter_init _.py ”,第 1883 行,调用 返回self.func(*args) TypeError: check() 缺少 1 个必需的位置参数:'entry'

这是代码: