如何使用 tkinter python 与短语 = input( "ENTER TEXT " ) Tkinter 文本框?



我试图给我的代码一个gui,但我不知道如何使用tkinter文本框的输入。我试图给出一个gui的代码:

phrase = input("ENTER TEXT ")
print("YOU ENTERED " + phrase + " NUMBER OF LETTERS: ")
print(len(phrase))
print("CONVERTED TO LOWER CASE:")
print(phrase.lower())
print("CONVERTED TO UPPER CASE:")
print(phrase.upper())

def say_hi():
print("BYE USER")
input('Press ENTER to exit')
say_hi()

这个问题有点令人困惑,但这将打开一个带有输入框的消息。

import tkSimpleDialog
answer = tkSimpleDialog.askstring(title, message)
  • ">title"参数只是消息框的标题,即顶部的文本
  • ">message"参数是消息框中的消息,例如"输入您的姓名">

这比其他方法更容易,因为您不需要设置方框和定位所有元素。但是,如果您需要有条目的对话框,您可能需要尝试其他答案之一。:(

然后,您可以根据需要使用"答案",就像使用input()一样

~希望这能有所帮助!:D

下面的代码完全执行使用tkinter GUI所做的操作。

以下是您需要了解的内容:

  • 标签用于创建段落
  • Entry是一个文本输入小部件
  • Entry有一个get方法来提取提示文本
  • 若要覆盖条目中的现有文本,请使用其方法delete。您必须指定要删除的范围
  • 要在条目中插入文本,可以使用它的方法insert。您必须指定插入文本的位置

代码

import tkinter as tk
class YourGUI(tk.Tk):
def __init__(self):
# inherit tkinter's window methods
tk.Tk.__init__(self)
tk.Label(self, text="ENTER TEXT:")
.grid(row=0, column=0)
self.input = tk.Entry(self)
self.input.grid(row=0, column=1)
tk.Label(self, text="CONVERTED TO LOWER CASE:")
.grid(row=1, column=0)
self.result_lower = tk.Entry(self)
self.result_lower.grid(row=1, column=1)
tk.Label(self, text="CONVERTED TO UPPER CASE:")
.grid(row=2, column=0)
self.result_upper = tk.Entry(self)
self.result_upper.grid(row=2, column=1)
tk.Button(self, text="convert", command=self.do_conversion)
.grid(row=3, column=0, columnspan=2)

def do_conversion(self):
self.result_lower.delete(0, tk.END)
self.result_upper.delete(0, tk.END)
phrase = self.input.get()
self.result_lower.insert(0, phrase.lower())
self.result_upper.insert(0, phrase.upper())
if __name__ == '__main__':
your_gui = YourGUI()
your_gui.mainloop()

你应该看看下面的tkinter教程https://likegeeks.com/python-gui-examples-tkinter-tutorial/

您需要阅读Tkinter手册,看看什么样的布局适合您。对于上述要求,请尝试以下操作:

  1. 首先导入库:import tkinter as tk
  2. 然后在主函数/方法/类之外:root.mainloop()
  3. 您可以使用tkinter网格布局。请尝试以下示例:https://www.python-course.eu/tkinter_layout_management.php
  4. 然后:

    phraseLabel = Label(window, text = "ENTER TEXT").grid(row=1,column=1) #creates label

    phraseEntry = Entry(window, textvariable=phraseValue).grid(row=2,column=1) #create input text field

  5. 要从文本字段中检索值,请使用:phraseValue.get()

向致以最良好的祝愿

最新更新