标签: tkinter

当您将鼠标悬停在按钮图像上时更改按钮图像 tkinter

将鼠标悬停在按钮上时如何更改图像?我需要当你将鼠标悬停在按钮 1 或 2 上时图片会发生变化:

Photo1 = (file='Image\ProgrammingButton') 
Photo2 = (file='Image\DesignButton')  
But1 = (root, image=Photo1) 
But2 = (root, image=Photo2)
Run Code Online (Sandbox Code Playgroud)

悬停时

Photo1 = (file='Image\ActiveProgrammingButton') 
Photo2 = (file='Image\ActiveDesignButton')
Run Code Online (Sandbox Code Playgroud)

python tkinter python-3.x

0
推荐指数
1
解决办法
1740
查看次数

仅打开一个 Tk.Toplevel 窗口

我将新窗口(Tk.Toplevel)的打开绑定在按钮上。但是,如果我按两次按钮,则会打开两个窗口。我可以停用按钮直到新窗口关闭,或者如果按两次按钮则显示消息框吗?

python tkinter

0
推荐指数
1
解决办法
1023
查看次数

TKInter 键绑定:如何防止默认 GUI 导航行为?

在 Tkinter 中,当绑定到也用于导航的键(如 <Tab> 或 <space>)时,如何覆盖键盘导航的默认行为?MWE 重现问题:

import tkinter
root = tkinter.Tk()

def tab():
    print("Tab was pressed")

def space():
    print("space was pressed")

A = tkinter.Button(root, text ="A")
A.pack()
B = tkinter.Button(root, text ="B")
B.pack()

root.bind("<Tab>", lambda x: tab())
root.bind("<space>", lambda x: space())

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

user-interface accessibility tkinter python-3.x

0
推荐指数
1
解决办法
241
查看次数

使用 pysimplegui 更新行中按钮的窗口布局

我正在尝试使用 PySimpleGUI 制作 GUI 应用程序。

单击“确认”按钮后,我需要在窗口上显示不同的按钮。

我在第一个布局中使用带有“可见性 false”的按钮来完成此操作,当我单击“确认”按钮时,脚本会更改最初不可见的按钮的可见性。

问题是按钮是可见的,但它们不在一行,而是在同一列。

这是第一个窗口:

这是第一个窗口:

更新后的窗口应如下所示:

这就是更新后的窗口的样子

更新后的窗口如下所示:

这是更新后的窗口的样子

这是我的代码:

import PySimpleGUI as sg

sg.theme('DarkAmber')
layout = [
                [sg.Text('\n\nText sample', key = '_text_', visible = True)],
                [sg.Text('Second sample: ', key = '_text2_'), sg.InputText(key='_IN_', size=(10, 1))],
                [sg.Text()],

                
                [sg.Button('Confirm', key = '_CONFIRM_', visible=True), 
                sg.Button('1', key ='_1_', visible=False), 
                sg.Button('2', key = '_2_', visible=False), 
                sg.Button('3', key = '_3_',  visible=False), 
                sg.Cancel('Exit', key = '_EXIT_')],

            ]

window = sg.Window('Window', layout)


while True:            
    event, values = window.read()
    if event in (sg.WIN_CLOSED, '_EXIT_'):
        break

    elif …
Run Code Online (Sandbox Code Playgroud)

python user-interface tkinter pysimplegui

0
推荐指数
1
解决办法
1万
查看次数

tkinter - 将不同的 &lt;Enter&gt; 事件绑定到 Treeview 小部件中的每一行

我想创建一个独特的小工具提示窗口,当我将Treeview鼠标悬停在小部件的每一行上时,就会出现该窗口。

我无法弄清楚如何将事件唯一地绑定<Enter><Leave>每一行。

python treeview tkinter

0
推荐指数
1
解决办法
1929
查看次数

VSCode (tkinter) 中根本不显示窗口

我正在 Visual Studio Code 中尝试 tkinter,但没有显示此代码的窗口(只是测试):

from tkinter import * 
Tk()
Run Code Online (Sandbox Code Playgroud)

我是否错过了任何安装?

python tkinter python-3.x

0
推荐指数
1
解决办法
7502
查看次数

调整 tkinter Label 中的文本以占据所有可用空间

嘿,我希望你们一切都好。我正在 python tkinter 中构建一个视力表软件,其中包含 Opto Charts。在光学图表中,所有字母都直接位于彼此下方。但是当我尝试在 tkinter 中添加标签时,它形成 V 形,因为每行字体大小都在减小。我想占据标签所有可用空间。

我设法使用它来做到这一点 mainFrame.rowconfigure(0, weight=1),但它只能使标签达到全宽,而不是其中的文本。我已附上屏幕截图以了解其外观。 在此输入图像描述 在屏幕截图中,您可以看到标签设置为屏幕的全长,但文本呈 V 形,因为字体大小从上到下减小。有没有办法将文本锚定为全宽。换句话说,每个字母表都应该直接位于上面的字母表之下。

我希望我已经说清楚了,如果您需要了解其他信息,请告诉我。

python tkinter python-3.x tkinter-layout tkinter-text

0
推荐指数
1
解决办法
950
查看次数

当我使用 PlaySound 时 Python 冻结

当我将 tkinter 与 Playsound 一起使用时,它会冻结直到播放声音。我尝试过使用 block = False 但它根本不播放声音!

这是我的代码的一部分:

from tkinter import *
from tkinter import ttk
from playsound import playsound


class GameMaker:
    def __init__(self,root=None):
        self.sounds={}
    def AddSound(self,name,directory,overide=False,times=0,TimesOveride=0):
        if times != 0:
            name = name + str(times)
        if TimesOveride != 0:
            if times >= 10:
                return None
        else:
            if times >= TimesOveride:
                return None
            
        try:
            self.sounds[name]
            if overide == True:
                self.sounds[name]=directory
            else:
                AddSound(name,directory,times=times+1)
        except:
            self.sounds[name]=directory
    def PlaySound(self,sound):
        playsound(self.sounds[sound],block=False)
    def MapAll(self,command):
        keys = list("qwertyuiopasdfghjklzxcvbnm")
        for key in keys:
            self.Bind(key,command)
            print(key) …
Run Code Online (Sandbox Code Playgroud)

tkinter python-3.9 python-playsound

0
推荐指数
1
解决办法
572
查看次数

如何在Python中绑定Tcl回调

我正在阅读有关msgcat 的内容。

引用文档:

::msgcat::mcunknown 语言环境 src-string ?arg arg ...?

当当前语言环境中未定义 src-string 的翻译时,此例程由 ::msgcat::mc 调用。如果有任何参数,默认操作是返回按格式传递的 src-string。应用程序可以重新定义此过程,例如记录每个未知字符串的错误消息。::msgcat::mcunknown 过程在与调用 ::msgcat::mc 相同的堆栈上下文中调用。::msgcat::mcunknown 的返回值用作调用::msgcat::mc 的返回值。请注意,仅当相关包未设置包区域设置未知命令名称时才会调用此例程。

如何::msgcat::mcunknown使用 tkinter 在 Python 代码中创建处理程序?

python tkinter tcl

0
推荐指数
1
解决办法
130
查看次数

在 tkinter 中选择日期而不使用 tkcalendar

我正在寻找一种在 tkinter 窗口内显示日历或其他日期选择器的方法。我知道 tkcalendar 并且它效果很好。但是,我正在寻找一种无需 tkcalendar 即可实现此目的的方法,因为 tkcalendar 是根据 GPLv3 获得许可的。我搜索了互联网,发现所有论坛都一致表示,包含“import tkcalendar”字样的代码,即使未编译,也被视为派生作品,因此也必须根据 GPLv3 获得许可。这些威胁都没有得到法律专家的答复,但我不想冒险进口任何根据 GLP 许可的东西。

有人可以建议 tkcalendar 的替代方案,或者建议如何在不从源代码复制的情况下重新创建它吗?

编辑:我被要求添加一个解释,说明我的 GPL 问题是什么。我的问题是,据我了解,导入 tkcalendar 的代码被视为 tkcalendar 的“派生作品”,因此也需要根据 GPL 获得许可。不过,我不想在 GPL 下许可我的程序,因此据我了解,我无法导入任何 GPL 许可的模块。

python tkinter tkcalendar

0
推荐指数
1
解决办法
1559
查看次数