有什么方法可以使Tkinter Entry窗口小部件能够突出显示和复制文本,但不能更改?
我一直试图获得一个入口值(代码中的S1)将自己设置为一个值(_attributes字典中的STR),而我无法让它工作.我想把它作为最终的toploop,但我一步一步,因为我是一般的编程新手.我是以正确的方式进行此操作,还是应该只有一个按钮,当按下该按钮时,会对该条目的值进行查找并将其与之相关联?我已经完成了我在网上为Tkinter找到的几个教程和课程,但似乎距离能够按照我期望的方式制作任何东西还有几英里远.
#! usr/bin/python27
from Tkinter import *
class Character:
def __init__(self, **kvargs):
self._attributes = kvargs
def set_attributes(self, key, value):
self._attributes[key] = value
return
def get_attributes(self, key):
return self._attributes.get(key, None)
def attrInput(stat, x, y):
"""Creates a label for entry box"""
L = Label(B,
width = 5,
relief = RIDGE,
anchor = E,
text = stat).grid(row = x,
column = y)
B = ""
def main():
Person = Character()
B = Tk()
S1 = Entry(B, width = 3)
S1.grid(row = 0, column …
Run Code Online (Sandbox Code Playgroud) 使用Python 2.7,我想将"Entry"小部件的状态转换为正常/禁用感谢一个checkbutton.
在这个问题的帮助下,使用checkbutton禁用小部件?,我可以用1个checkbutton和1个Entry进行
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import Tkinter as tk
root = tk.Tk()
class Principal(tk.Tk):
def __init__(self, *args, **kwargs):
self.foo = tk.StringVar()
self.nac = tk.IntVar()
self.ck1 = tk.Checkbutton(root, text='test',
variable=self.nac, command=self.naccheck)
self.ck1.pack()
self.ent1 = tk.Entry(root, width=20, background='white',
textvariable=self.foo, state='disabled')
self.ent1.pack()
def naccheck(self):
print "check"
if self.nac.get() == 0:
self.ent1.configure(state='disabled')
else:
self.ent1.configure(state='normal')
app = Principal()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
当我想要2对或更多对(问题按钮/条目)时出现问题.在我的最终界面中,我可能有20个或更多这一对,所以我想避免使用20个或更多相同的"naccheck"方法.
我试过这个:
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import Tkinter as tk
root = tk.Tk()
class Principal(tk.Tk):
def …
Run Code Online (Sandbox Code Playgroud) 我正在使用 Tkinter 在 Python 3 上编写 GUI,但每次使用 Entry() 时,都会出现名称错误。
我尝试了更简单的代码版本(如下所示),但它仍然导致了 NameError:
import tkinter
top = tkinter.Tk()
e = Entry(top)
e.pack()
top.mainloop()
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Traceback (most recent call last):
File "/home/pi/gui.py", line 4, in <module>
e = Entry()
NameError: name 'Entry' is not defined
Run Code Online (Sandbox Code Playgroud)
我最近才再次开始编码,所以答案可能非常简单,我没有意识到代码有问题,但感谢您的任何答案。
我试图将Enter键与按钮绑定。
在下面的代码中,我试图从条目小部件中获取条目,当bt
按下按钮时,它将调用enter()
获取条目的方法。
我也希望通过按Enter键来调用它,但没有得到想要的结果。
在输入小部件中输入的值未读取,调用了enter方法,仅在我的数据库中插入了一个空格
帮我找出我的问题,谢谢!
from tkinter import *
import sqlite3
conx = sqlite3.connect("database_word.db")
def count_index():
cur = conx.cursor()
count = cur.execute("select count(word) from words;")
rowcount = cur.fetchone()[0]
return rowcount
def enter(): #The method that I am calling from the Button
x=e1.get()
y=e2.get()
ci=count_index()+1
conx.execute("insert into words(id, word, meaning) values(?,?,?);",(ci,x,y))
conx.commit()
fr =Frame() #Main
bt=Button(fr) #Button declaration
fr.pack(expand=YES)
l1=Label(fr, text="Enter word").grid(row=1,column=1)
l2=Label(fr, text="Enter meaning").grid(row=2,column=1)
e1=Entry(fr)
e2=Entry(fr)
e1.grid(row=1,column=2)
e2.grid(row=2,column=2) …
Run Code Online (Sandbox Code Playgroud) 我有一个tkinter页面,它会询问用户名和密码(2个输入框用于此目的).我想要的是,一旦用户运行脚本,光标应该在用户名字段(第一个输入框)中,这样用户就可以输入用户名,而无需在输入前使用鼠标点击输入框.无论如何要做到这一点?
如何在Entry小部件tkinter python中使用click + drug left mouse选择所有文本.
e1 = tk.Entry(bop, width = 50, font = "Helvetica 13")
e1.grid(row=1,column=1, padx=15, pady=15)
e1.bind_class("Entry","<Control-a>", select_all(e1))
Run Code Online (Sandbox Code Playgroud)
这是功能select_all()
:
def select_all(e):
a = e.select_range(0,tk.END)
Run Code Online (Sandbox Code Playgroud) 我真的很沮丧,试图在 tkinter 中对齐标签和输入按钮。我想创建一个如下所示的 GUI
上面的页面是使用页面工具开发的。我编写了一段代码来获取相同类型的页面,但它有很多错位。
from Tkinter import *
root = Tk()
root.title("Nokia Performance")
root.geometry("583x591+468+158")
root.title("NOKIA _ANSI Performance")
root.configure(borderwidth="1")
root.configure(relief="sunken")
root.configure(background="#dbd8d7")
root.configure(cursor="arrow")
root.configure(highlightbackground="#d9d9d9")
root.configure(highlightcolor="black")
Label1 = Label(root)
_img1 = PhotoImage(file="C:\\Users\\vkandhav\\Desktop\\PY_IMAGE\\NOKIA.gif")
Label1.configure(image=_img1)
Label1.configure(text='''Label''')
Label1.pack()
Label2 = Label(root)
Label2.configure(text='''Enter the platform :''')
Label2.pack(side=LEFT)
Entry2 = Entry(root)
Entry2.pack(side = RIGHT)
Label3 = Label(root)
Label3.configure(text='''Device IP Address :''')
Label3.pack()
Entry5 = Entry(root)
Entry5.pack()
Label5 = Label(root)
Label5.configure(text='''Username :''')
Label5.pack()
Label6 = Label(root)
Label6.configure(text='''Label''')
Label6.pack()
Label7 = Label(root)
Label7.configure(text='''Craft IP :''')
Label7.pack()
Label8 = Label(root) …
Run Code Online (Sandbox Code Playgroud) 我想知道如何在此处附加的代码中定义的输入框中添加某种背景文本:
该框可能会显示“示例:Joe Bloggs”,但是当用户在框内单击时会变灰,然后将其删除?希望这不是太棘手。
# ************ Retrieve user's Full name ************
tk.Label(self, text='First and last name:').grid(sticky='e') # Label
self.full_name_entry = tk.Entry(self, bg='white', width=30) # Entry box
self.full_name_entry.grid(row=1, column=1, pady=15, columnspan=2) # Entry box placement
Run Code Online (Sandbox Code Playgroud) 我正在使用 Tkinter 在 Python 3.6 中编写程序,其中客户有多个(11)个输入字段。我希望这些输入字段只接受整数,并且还能够定义最大字符数。
我已经有一个功能可以做到这一点。但此功能仅适用于一个输入字段。我尝试通过调用函数来输入变量,因此它会更改另一个输入字段。我无法做到这一点。
这是我的功能,适用于 1 个输入字段。
def limitMuntgeld(self, *args):
value = self.invoerM.get()
if len(value) > 5:
self.invoerM.set(value[:5])
if value.lower() in "abcdefghijklmnopqrstuvwxyz-=[];/":
self.invoerM.set(value[:0])
Run Code Online (Sandbox Code Playgroud)
这是与函数一起使用的示例输入字段代码
self.invoerMuntgeld = Entry(self, font=('Arial', 14), textvariable=self.invoerM)
Run Code Online (Sandbox Code Playgroud)
这与下面发布的输入字段上的跟踪相结合。
self.invoerM = StringVar()
self.invoerM.trace('w', self.limitMuntgeld)
Run Code Online (Sandbox Code Playgroud)
我也用 vcmd 和 validatecommand 尝试过。然而,没有好的结果。我的最终结果将是一个处理所有输入字段的函数。如果有人有任何建议,我会全神贯注!