有没有办法在 Tkinter小部件中添加撤消和重做Entry
功能,或者我必须使用单行Text
小部件来实现此类功能?
如果是后者,在配置Text
小部件以充当Entry
小部件时,我应该遵循哪些提示?
一些可能需要调整的功能包括捕获Return
KeyPress
、将选项卡按键转换为更改焦点的请求,以及从剪贴板粘贴的文本中删除换行符。
我正在制作一个简单的应用程序,只是为了练习python,我想写文本就像记事本一样.但是,我不能让我的入门更大.我正在使用tkinter.有人知道如何让一个条目的高度变大吗?
我试过这样的事情:
f = Frame()
f.pack()
e = Entry(f,textvariable=1,height=20)
e.pack()
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,因为没有"身高"的属性.但是,我看到有一个宽度属性.
我正在创建一个应用程序,我想在GUI Entry小部件中使用输入的值.
如何从Tkinter Entry小部件获取输入的输入?
root = Tk()
...
entry = Entry(root)
entry.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我正在创建一个只允许输入数字的条目.如果该字符不是整数,我目前仍然在删除刚刚输入的字符.如果有人将"BLANK"替换为需要进行的操作,那将会有很多帮助.
import Tkinter as tk
class Test(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.e = tk.Entry(self)
self.e.pack()
self.e.bind("<KeyRelease>", self.on_KeyRelease)
tk.mainloop()
def on_KeyRelease(self, event):
#Check to see if string consists of only integers
if self.e.get().isdigit() == False:
self.e.delete("BLANK", 'end')#I need to replace 0 with the last character of the string
else:
#print the string of integers
print self.e.get()
test = Test()
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个小部件,其中包含基于加载的文件的一个方面的输入字段的数量。
我一直在用
self.e = Entry(self.master);
self.e.pack();
self.e.delete(0,END);
self.e.insert(0, 0);
Run Code Online (Sandbox Code Playgroud)
创建每个条目,但理想情况下希望迭代此命令。每个条目变量都应该有一个不同的名称,这样我就可以调用每个单独的单元格,我不知道这是否可行。
更一般地说,我想要做的是创建一个 1 表,用户可以在其中向单元格输入一个整数,我可以在另一个函数中访问该值。
当我运行此代码时,文件选择器出现,然后当我完成它时,我无法输入条目小部件,直到我专注于另一个窗口然后回来.为什么会这样?
import tkinter as tk
from tkinter.filedialog import askopenfilename
location = ''
start = tk.Tk()
tk.Label(text='What is the name of your table?').pack()
box = tk.Entry(start, exportselection=0, state=tk.DISABLED)
box.pack()
button = tk.Button(start, text='OK', command=lambda e: None)
button.pack()
location = askopenfilename(defaultextension='.db',
title="Choose your database",
filetypes=[('Database Files', '.db'), ('All files', '*')])
box.config(state=tk.NORMAL)
start.mainloop()
Run Code Online (Sandbox Code Playgroud) 我一直在编写一个 tkinter 应用程序,它从多个条目小部件中获取浮点数,然后在计算中使用浮点数来生成一个浮点数,然后可以显示在适当的标签中。
当我运行应用程序时,我得到“ValueError: could not convert string to float:”并且我不能在任何计算中使用浮点数。
这是一小段代码:
def click_p1():
p1 = entry_p1.get()
try:
p1 = float(p1)
print (p1)
except:
print('Bad Input')
button_p1 = Button(text = 'ENTER', command = click_p1).grid(row = 2, column = 1, stick = 'nsew')
entry_p1 = Entry()
entry_p1.grid(row = 2, column = 0, stick = 'nsew')
p1 = float(entry_p1.get())
p2 = float(entry_p2.get())
t1 = float(entry_t1.get())
t2 = float(entry_t2.get())
a1 = math.log(p1) - math.log(p2)
b1 = t2 - t1
k1 = a1/b1
e2hours = …
Run Code Online (Sandbox Code Playgroud) 所以我一直在研究这个程序,但我发现很难找出问题所在。我对 tkinter 还很陌生,所以这可能很小。
我试图让程序在按下复选按钮时更改输入框的背景颜色。或者更好的是,如果我可以动态地改变它,那就更好了。
这是我目前的代码:
TodayReading = []
colour = ""
colourselection= ['green3', 'dark orange', "red3"]
count = 0
def MakeForm(root, fields):
entries = []
for field in fields:
row = Frame(root)
lab = Label(row, width=15, text=field, font=("Device",10, "bold"), anchor='center')
ent = Entry(row)
row.pack(side=TOP, padx=5, fill=X, pady=5)
lab.pack(side=LEFT)
ent.pack(side=RIGHT, expand=YES, fill=X)
entries.append((field, ent))
return entries
def SaveData(entries):
import time
for entry in entries:
raw_data_point = entry[1].get()
data_point = (str(raw_data_point))
TodayReading.append(data_point)
c.execute("CREATE TABLE IF NOT EXISTS RawData (Date TEXT, Glucose REAL, …
Run Code Online (Sandbox Code Playgroud) 如果我执行这段代码,它工作得很好。但是,如果我使用键盘(Ctrl+ C)复制某些内容,那么如何将剪贴板上的文本粘贴到Python中的任何输入框或文本框中?
import pyperclip
pyperclip.copy('The text to be copied to the clipboard.')
spam = pyperclip.paste()
Run Code Online (Sandbox Code Playgroud) 我正在使用 matplotlib 3.2.2 版和 tkinter 编写交互式绘图脚本。
运行脚本时,第一个窗口如下所示:
此外,一旦单击Plot figure e 按钮,rcParams 就会更新和绘制:
如果我现在点击按钮更改绘图设置并更改例如markersize参数 -> Plot figure,则绘图更新如下:
但是,如果我尝试将标签大小更改为 20 像素,然后验证 rcParams['axes.labelsize']
已更改,则它们是。但是 x 和 y 标签的大小在实际绘图中永远不会更新。
绘图标题(一直到绘图窗口顶部的文本输入字段)字体大小可以在绘图后更改。
最小代码:
"""
This is a script for interactively plotting a scatterplot and changing the plot params.
"""
import numpy as np
import matplotlib as mpl
import matplotlib.style
import random
mpl.use('TkAgg')
import numpy as np
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
from tkinter import *
import matplotlib.pyplot as plt …
Run Code Online (Sandbox Code Playgroud) tkinter ×10
tkinter-entry ×10
python ×9
python-3.x ×4
filedialog ×1
height ×1
matplotlib ×1
pyperclip ×1
text ×1
widget ×1