【问题标题】:How to make the input text area bigger on tkinter?如何在 tkinter 上使输入文本区域更大?
【发布时间】:2021-01-15 07:36:21
【问题描述】:

我正在开发一个 SMS 文本应用程序,并且我用 tkinter 制作了一个简单的 GUI。 它有 3 个输入数据的字段和两个按钮。

  1. 发件人
  2. 接收者
  3. 留言

我正在尝试做的是使消息文本输入方式比其他方式更大,以便用户有更多空间来编写消息(不是很大)。

这是我的代码:

from tkinter import *

def send_message():
    print('sent')

def clear_text():
    print('cleared')

#window object
app = Tk()
# Sender
Sender_text = StringVar()
Sender_label = Label(app, text='Sender', font=('bold', 14), pady=20)
Sender_label.grid(row=0, column=0, sticky=W)
Sender_entry = Entry(app, textvariable=Sender_text)
Sender_entry.grid(row=0, column=1)
# Receiver
Receiver_text = StringVar()
Receiver_label = Label(app, text='Receiver', font=('bold', 14))
Receiver_label.grid(row=0, column=2, sticky=W)
Receiver_entry = Entry(app, textvariable=Receiver_text)
Receiver_entry.grid(row=0, column=3)
# Message
Message_text = StringVar()
Message_label = Label(app, text='Message', font=('bold', 14))
Message_label.grid(row=1, column=0, sticky=W)
Message_entry = Entry(app, textvariable=Message_text)
Message_entry.grid(row=1, column=1)
# Buttons
send_btn = Button(app, text='Send', width=12, command=send_message)
send_btn.grid(row=2, column=0, pady=20)
clear_btn = Button(app, text='Clear', width=12, command=clear_text)
clear_btn.grid(row=2, column=1)


app.title('SMS')
app.geometry('430x145')

#start
app.mainloop()

【问题讨论】:

  • Message_entry = Text(app).....
  • 我尝试从 Message_entry = Entry(app) 切换到 Message_entry = TexT(app) 但它似乎不起作用。我的语法真的很糟糕。
  • 您可以通过指定fontwidth 选项来增大文本:Message_entry = Entry(app, textvariable=Message_text, font=('bold', 20), width=30)

标签: python python-3.x tkinter


【解决方案1】:

您可以使用 Text() 代替 Entry()。 Text() 的大小很容易改变。

from tkinter import *

def send_message():
    print('sent')

def clear_text():
    print('cleared')

#window object
app = Tk()
# Sender
Sender_text = StringVar()
Sender_label = Label(app, text='Sender', font=('bold', 14), pady=20)
Sender_label.grid(row=0, column=0, sticky=W)
Sender_entry = Entry(app, textvariable=Sender_text)
Sender_entry.grid(row=0, column=1)
# Receiver
Receiver_text = StringVar()
Receiver_label = Label(app, text='Receiver', font=('bold', 14))
Receiver_label.grid(row=0, column=2, sticky=W)
Receiver_entry = Entry(app, textvariable=Receiver_text)
Receiver_entry.grid(row=0, column=3)
# Message
Message_text = StringVar()
Message_label = Label(app, text='Message', font=('bold', 14))
Message_label.grid(row=1, column=0, sticky=W)
#Message_entry = Entry(app, textvariable=Message_text)
Message_entry = Text(app, width=20, height=2, font=("Bold",20))
Message_entry.grid(row=1, column=1)
# Buttons
send_btn = Button(app, text='Send', width=12, command=send_message)
send_btn.grid(row=2, column=0, pady=20)
clear_btn = Button(app, text='Clear', width=12, command=clear_text)
clear_btn.grid(row=2, column=1)


app.title('SMS')
app.geometry('430x145')

#start
app.mainloop()

【讨论】:

  • 这使文本变大但输入框变大:(
  • 实际盒子可以改变宽度和高度。 “Height = 2”是字体大小的两倍。
猜你喜欢
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 2015-06-08
  • 2017-10-01
相关资源
最近更新 更多