Python 如何禁用输入控件的键盘输入、禁用tkinter窗口的大小调整以及隐藏控制台窗口?
我正在使用tkinter制作一个计算器,我希望执行以下操作:Python 如何禁用输入控件的键盘输入、禁用tkinter窗口的大小调整以及隐藏控制台窗口?,python,user-interface,tkinter,Python,User Interface,Tkinter,我正在使用tkinter制作一个计算器,我希望执行以下操作: 禁用条目小部件的键盘输入,以便用户只能通过按钮输入 即使在禁用条目小部件的键盘输入后,我也希望能够更改小部件的背景和前景 我想隐藏控制台窗口,因为它在使用这个计算器时是完全无用的 我不想让用户调整root窗口的大小。如何禁止调整根目录的大小 这是我到目前为止的代码 from tkinter import * root = Tk() root.title("Calculator") root.config(background="
- 禁用
小部件的键盘输入,以便用户只能通过按钮输入李>条目
- 即使在禁用
小部件的键盘输入后,我也希望能够更改小部件的背景和前景李>条目
- 我想隐藏控制台窗口,因为它在使用这个计算器时是完全无用的李>
- 我不想让用户调整
窗口的大小。如何禁止调整root
根目录的大小
from tkinter import *
root = Tk()
root.title("Calculator")
root.config(background="black")
operator = ""
textVar = StringVar()
def valInput(number):
global operator
operator+=str(number)
textVar.set(operator)
display = Entry(root, textvariable=textVar, font=("Arial", 14, "bold"), bg="lightblue", fg="black", justify="right")
display.grid(row=0, column=0, columnspan=4)
btn7 = Button(root, font=("Arial", 12, "bold"), bg="orange", fg="red", text="7", command= lambda : valInput(7))
btn7.grid(row=1, column=0)
"""
And more buttons...
"""
root.mainloop()
如您所见,我可以使用按钮输入条目
小部件,但稍后,在计算器完成后,如果用户输入像abcd这样的字符。。。它将导致问题并显示错误。如何禁止键盘输入以避免这些错误
我想让我的计算器色彩鲜艳一点。我更改了根
窗口的颜色、按钮以及条目
小部件的颜色。是否有任何方法可以在小部件被禁用后更改其颜色
使用此计算器时,我不需要控制台窗口。我该如何隐藏它
如果我调整root
窗口的大小,计算器将变得丑陋,此外,不需要调整窗口的大小。那么如何防止用户调整窗口的大小呢
能够在条目(args)中禁用键盘输入
将状态设置为禁用:
display = Entry(root, state=DISABLED)
能够禁用调整tkinter窗口大小的功能(以便您无法拖动和拉伸它)
使命令提示符窗口消失。(我只需要tkinter窗口。)
重命名扩展名为.pyw的文件(假设您使用的是windows)
能够在条目(args)中禁用键盘输入
将状态设置为禁用:
display = Entry(root, state=DISABLED)
能够禁用调整tkinter窗口大小的功能(以便您无法拖动和拉伸它)
使命令提示符窗口消失。(我只需要tkinter窗口。)
使用.pyw扩展名重命名文件(假设您使用的是windows)不要使用tkinter import*中的
,因为它会污染模块中每个公用名称的主命名空间。这最多会使代码不太明确,最坏的情况是,它可能(而且会)导致名称冲突
有正确的反应,使用import tkinter
或import tkinter as tk
这应该是可行的,您必须使用禁用背景
选项:
import tkinter as tk
root = tk.Tk()
display = tk.Entry(root,font=('Arial', 20, 'bold'), disabledbackground='lightblue', state='disabled')
display.pack()
root.resizable(0,0)
root.mainloop()
不要使用tkinter import*
中的,不建议使用它,因为它会污染模块中每个公共名称的主命名空间。最好的情况下,这会使代码不那么明确,最坏的情况下,它会(而且会)导致名称冲突
有正确的反应,使用import tkinter
或import tkinter as tk
这应该是可行的,您必须使用禁用背景
选项:
import tkinter as tk
root = tk.Tk()
display = tk.Entry(root,font=('Arial', 20, 'bold'), disabledbackground='lightblue', state='disabled')
display.pack()
root.resizable(0,0)
root.mainloop()
我想你想要的是root.resizable(width=False,height=False)
不是root.resizable(0,0)
@SierraMountainTech您的方法更显式,但在其他方面,这是完全相同的。我没有看到您使用它的方式。在这种情况下,我会想象0==False。正确吗?0始终等于False(在python和大多数语言中)。它们实际上是相同的。请尝试0==False
或isinstance(False,int)
在REPL中。@Sierramauntaintech或解析tkinter中的当前值。尝试r.resizable()
查看当前值。我认为您在寻找调整大小的问题时,需要的是root.resizable(width=False,height=False)
不是root.resizable(0,0)
@SierraMountainTech您的方法更显式,但在其他方面,这是完全相同的。我没有看到您使用它的方式。在这种情况下,我会想象0==False。正确吗?0始终等于False(在python和大多数语言中)。它们实际上是相同的。请尝试0==False
或isinstance(False,int)
在REPL中。@SierraMountainTech或解析tkinter中的当前值。请尝试r.resizable()
查看当前值。你有没有用谷歌搜索过这些内容?你要求的所有内容都在谷歌搜索结果的第一页上,每个问题都放在谷歌搜索中…@SierraMountainTech对不起,谷歌是一个搜索引擎,只提供我要找的信息。它没有解释代码。我是一个学习者,不是一个p专业。所以对于我学到的每一件事,我都需要一个解释,以便我以后可以利用我的知识进行另一个项目。你可以通过阅读文档然后创建代码来了解它的作用。我也不是专业人士。我在空闲时间做这件事已经有大约4个月了,而且都是“读、写、运行、修复”假设您在windows上运行,如果您将文件扩展名从.py
更改为.pyw
,则命令窗口将不再显示。@scotty3785感谢。您是否费心用谷歌搜索过这些内容?您要求的所有内容都在谷歌搜索结果的第一页,每个问题都放在谷歌搜索中…@SierraMountainTe很抱歉,谷歌是一个搜索引擎,它只提供我要找的信息。它不解释代码。我是一个学习者,不是专业人士。所以对于我学到的每一件事,我都需要一个解释,以便我以后可以用我的知识做另一个项目。你可以通过阅读文档,然后创建代码来了解什么是的。我也不是专业人士。我在空闲时间做这件事已经有四个月了,而且都是“读、写、运行、修复”的