我试图给我的代码一个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手册,看看什么样的布局适合您。对于上述要求,请尝试以下操作:
- 首先导入库:
import tkinter as tk
- 然后在主函数/方法/类之外:
root.mainloop()
- 您可以使用tkinter网格布局。请尝试以下示例:https://www.python-course.eu/tkinter_layout_management.php
-
然后:
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
-
要从文本字段中检索值,请使用:
phraseValue.get()
向致以最良好的祝愿