python Tkinter Entry 输入框多行数据如何显示
请问大佬,我运用python 的Tkinter里面 Entry函数,在对话框中输入一段很长的文本时,
from tkinter import *import easygui
master = Tk()
frame = Frame(master) # 确定一个框架用于美观
frame.pack(padx = 20,pady = 20)
v1 = StringVar() # 分别用于储存需要计算的数据和 结果
v2 = StringVar()
v3 = StringVar()
e1 = Entry(frame,width=10,textvariable=v1,validate='key',\
).grid(row=0,column=0,pady=10)
Label(frame,text='+',padx=10).grid(row=0,column=1)
e2 = Entry(frame,width=10,textvariable=v2,validate='key',\
).grid(row=0,column=2)
Label(frame,text='=',padx=10).grid(row=0,column=3)
e3 = Entry(frame,width=15,textvariable=v3,state='readonly').grid(row=0,column=4)
def calc():
if v1.get()=='':
easygui.msgbox('请先输入内容 !')
return
result = v1.get() + v2.get()
v3.set(result)
Button(frame,text='计算结果',command=calc).grid(row=1,column=2,pady=5)
mainloop()
回答:
用text框 可以了 记录下
from tkinter import *import tkinter as tk
import easygui
import requests
master = Tk()
from tkinter import ttk
ttk.Label(master,text='标题:').grid(row=0,column=0)
e1 = ttk.Entry(master,
width=44,
font=('StSong', 14),
foreground='green')
e1.grid(row=1)
ttk.Label(master,text='内容:').grid(row=2,column=0)
e2 = Text(master,
width=44,
height=4,
font=('StSong', 14),
foreground='gray')
e2.grid(row=3,column=0)
# 创建Scrollbar组件,设置该组件与text2的纵向滚动关联
scroll = Scrollbar(master, command=e2.yview)
scroll.grid(row = 3,sticky = tk.N + tk.S+tk.E)
#scroll.pack(side=RIGHT, fill=Y)
## 设置text2的纵向滚动影响scroll滚动条
e2.configure(yscrollcommand=scroll.set)
def calc():
if e1.get()=='':
easygui.msgbox('请先输入内容 !')
return
if e2.get(1.0, END)=='':
easygui.msgbox('请先输入内容 !')
return
user_info = {'title':e1.get(),
'content':e2.get(1.0, END)}
r = requests.post("http://127.0.0.1:5000/cluster/", data=user_info)
e3.insert(INSERT, r.text)
Button(master,text='提交',command=calc,width=10, height=1).grid(row = 4)
e3 = Text(master,
width=44,
height=4,
font=('StSong', 14),
foreground='gray')
e3.grid(row = 5)
# 创建Scrollbar组件,设置该组件与text2的纵向滚动关联
scroll = Scrollbar(master, command=e3.yview)
scroll.grid(row = 5,sticky = tk.N + tk.S+tk.E)
e3.configure(yscrollcommand=scroll.set)
mainloop()
回答:
展示多行的时候,使用Message组件
使用方法:创建一个message, 给它传递一个text字符串。然后这个控件会自动帮你分行。
from Tkinter import *master = Tk()
w = Message(master, text="this is a message")
w.pack()
mainloop()
回答:
你自己都已经说出了你的需求,你需要多行,那就应该去找多文本组件,Text这个组件可以满足你的需求
以上是 python Tkinter Entry 输入框多行数据如何显示 的全部内容, 来源链接: utcz.com/a/158890.html