【问题标题】:how to create tkinter entry box with multiline如何使用多行创建 tkinter 输入框
【发布时间】:2021-05-25 09:15:02
【问题描述】:

如何在 python tkinter 中创建大的 extry 框? 我曾尝试在 ttk.entry() 中使用height,但错误显示:

_tkinter.TclError: 未知选项“-height”

from tkinter import *
from tkinter import ttk
GUI = Tk()
GUI.title("myTest")
GUI.geometry("700x700")

S_NOTE = StringVar()
E_NOTE = ttk.Entry(GUI, textvariable = S_NOTE, font = FONT1, width = 40, height = 20)
E_NOTE.grid(row = 0, column = 0, columnspan = 2, rowspan = 2)

GUI.mainloop()

我还需要从entrybox中获取StringVar并固定位置(比如使用grid)

【问题讨论】:

  • 你为什么不改用Text 小部件?
  • @acw1668 请告诉我有关文本
  • 我还需要获取StringVar并固定位置(如使用网格)
  • 您不能将StringVarText 小部件一起使用。见官方document
  • @VittawatLaorungroj 你用StringVar做什么?大多数StringVar 方法都以一种或另一种形式在tkinter.Text 小部件中实现。

标签: python tkinter ttk


【解决方案1】:

看起来你正在使用一种糟糕的方式来做到这一点.. 见..您可以使用 Text 小部件来做同样的事情.. 示例:

from tkinter import *
GUI = Tk()
GUI.title("myTest")
GUI.geometry("700x700")

def set_text_to_variable():
    global E_NOTE
    global S_NOTE
    S_NOTE = E_NOTE.get(1.0,END)
    print("S_NOTE = ",S_NOTE)

E_NOTE = Text(GUI, font = "Segoe", width = 40, height = 20)
E_NOTE.grid(row = 0, column = 0, columnspan = 2, rowspan = 2)

Change_variable = Button(GUI, text = "CHANGE THE \"S_NOTE\" VARIABLE", command = set_text_to_variable)
Change_variable.grid()

GUI.mainloop()

【讨论】:

  • 我认为您认为 OP 需要 text 变量才能从 tk.Text 中获取数据。如果 OP 正在使用变量来更改 tk.Text 中的数据怎么办?
猜你喜欢
  • 2016-12-08
  • 2014-09-10
  • 2012-03-28
  • 2011-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
相关资源
最近更新 更多